간선도로 일별 통계.SQL 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. SELECT LY.ARTERYID, LY.ARTERYNAME, LY.DIRECTION, LY.DIRECTIONNAME, LY.ARTERYLENGHT, LX.TRFTYPE,
  2. DECODE(LX.ARTERYID, NULL, '-', DECODE(TTM, 0, '-', ROUND(TLL*3.6/TTM, 0))) AS ARTERYSPD,
  3. DECODE(LX.ARTERYID, NULL, '-', DECODE(T01, 0, '-', ROUND(L01*3.6/T01, 0))) AS C01,
  4. DECODE(LX.ARTERYID, NULL, '-', DECODE(T02, 0, '-', ROUND(L02*3.6/T02, 0))) AS C02,
  5. DECODE(LX.ARTERYID, NULL, '-', DECODE(T03, 0, '-', ROUND(L03*3.6/T03, 0))) AS C03,
  6. DECODE(LX.ARTERYID, NULL, '-', DECODE(T04, 0, '-', ROUND(L04*3.6/T04, 0))) AS C04,
  7. DECODE(LX.ARTERYID, NULL, '-', DECODE(T05, 0, '-', ROUND(L05*3.6/T05, 0))) AS C05,
  8. DECODE(LX.ARTERYID, NULL, '-', DECODE(T06, 0, '-', ROUND(L06*3.6/T06, 0))) AS C06,
  9. DECODE(LX.ARTERYID, NULL, '-', DECODE(T07, 0, '-', ROUND(L07*3.6/T07, 0))) AS C07,
  10. DECODE(LX.ARTERYID, NULL, '-', DECODE(T08, 0, '-', ROUND(L08*3.6/T08, 0))) AS C08,
  11. DECODE(LX.ARTERYID, NULL, '-', DECODE(T09, 0, '-', ROUND(L09*3.6/T09, 0))) AS C09,
  12. DECODE(LX.ARTERYID, NULL, '-', DECODE(T10, 0, '-', ROUND(L10*3.6/T10, 0))) AS C10,
  13. DECODE(LX.ARTERYID, NULL, '-', DECODE(T11, 0, '-', ROUND(L11*3.6/T11, 0))) AS C11,
  14. DECODE(LX.ARTERYID, NULL, '-', DECODE(T12, 0, '-', ROUND(L12*3.6/T12, 0))) AS C12,
  15. DECODE(LX.ARTERYID, NULL, '-', DECODE(T13, 0, '-', ROUND(L13*3.6/T13, 0))) AS C13,
  16. DECODE(LX.ARTERYID, NULL, '-', DECODE(T14, 0, '-', ROUND(L14*3.6/T14, 0))) AS C14,
  17. DECODE(LX.ARTERYID, NULL, '-', DECODE(T15, 0, '-', ROUND(L15*3.6/T15, 0))) AS C15,
  18. DECODE(LX.ARTERYID, NULL, '-', DECODE(T16, 0, '-', ROUND(L16*3.6/T16, 0))) AS C16,
  19. DECODE(LX.ARTERYID, NULL, '-', DECODE(T17, 0, '-', ROUND(L17*3.6/T17, 0))) AS C17,
  20. DECODE(LX.ARTERYID, NULL, '-', DECODE(T18, 0, '-', ROUND(L18*3.6/T18, 0))) AS C18,
  21. DECODE(LX.ARTERYID, NULL, '-', DECODE(T19, 0, '-', ROUND(L19*3.6/T19, 0))) AS C19,
  22. DECODE(LX.ARTERYID, NULL, '-', DECODE(T20, 0, '-', ROUND(L20*3.6/T20, 0))) AS C20,
  23. DECODE(LX.ARTERYID, NULL, '-', DECODE(T21, 0, '-', ROUND(L21*3.6/T21, 0))) AS C21,
  24. DECODE(LX.ARTERYID, NULL, '-', DECODE(T22, 0, '-', ROUND(L22*3.6/T22, 0))) AS C22,
  25. DECODE(LX.ARTERYID, NULL, '-', DECODE(T23, 0, '-', ROUND(L23*3.6/T23, 0))) AS C23,
  26. DECODE(LX.ARTERYID, NULL, '-', DECODE(T24, 0, '-', ROUND(L24*3.6/T24, 0))) AS C24,
  27. DECODE(LX.ARTERYID, NULL, '-', DECODE(T25, 0, '-', ROUND(L25*3.6/T25, 0))) AS C25,
  28. DECODE(LX.ARTERYID, NULL, '-', DECODE(T26, 0, '-', ROUND(L26*3.6/T26, 0))) AS C26,
  29. DECODE(LX.ARTERYID, NULL, '-', DECODE(T27, 0, '-', ROUND(L27*3.6/T27, 0))) AS C27,
  30. DECODE(LX.ARTERYID, NULL, '-', DECODE(T28, 0, '-', ROUND(L28*3.6/T28, 0))) AS C28,
  31. DECODE(LX.ARTERYID, NULL, '-', DECODE(T29, 0, '-', ROUND(L29*3.6/T29, 0))) AS C29,
  32. DECODE(LX.ARTERYID, NULL, '-', DECODE(T30, 0, '-', ROUND(L30*3.6/T30, 0))) AS C30,
  33. DECODE(LX.ARTERYID, NULL, '-', DECODE(T31, 0, '-', ROUND(L31*3.6/T31, 0))) AS C31
  34. FROM (
  35. SELECT GROUPING(ARTERYID) AS GROUPING_ARTERYID,
  36. GROUPING(DIRECTION) AS GROUPING_DIRECTION,
  37. GROUPING(TRFTYPE) AS GROUPING_TRFTYPE,
  38. CASE WHEN GROUPING(ARTERYID ) = 1 THEN 'µµ·Î' ELSE ARTERYID END AS GROUP_ARTERYID,
  39. CASE WHEN GROUPING(DIRECTION) = 1 THEN '¹æÇâ' ELSE DIRECTION END AS GROUP_DIRECTION,
  40. CASE WHEN GROUPING(TRFTYPE) = 1 THEN '¼Ò°è' ELSE TRFTYPE END AS GROUP_TRFTYPE,
  41. ARTERYID, DIRECTION, TRFTYPE,
  42. SUM(DECODE(TRVTM, NULL, 0, LINKLEN)) TLL,
  43. SUM(DECODE(TRVTM, NULL, 0, TRVTM )) TTM,
  44. SUM(DECODE(STATDAY, '01', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T01,
  45. SUM(DECODE(STATDAY, '01', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L01,
  46. SUM(DECODE(STATDAY, '02', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T02,
  47. SUM(DECODE(STATDAY, '02', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L02,
  48. SUM(DECODE(STATDAY, '03', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T03,
  49. SUM(DECODE(STATDAY, '03', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L03,
  50. SUM(DECODE(STATDAY, '04', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T04,
  51. SUM(DECODE(STATDAY, '04', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L04,
  52. SUM(DECODE(STATDAY, '05', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T05,
  53. SUM(DECODE(STATDAY, '05', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L05,
  54. SUM(DECODE(STATDAY, '06', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T06,
  55. SUM(DECODE(STATDAY, '06', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L06,
  56. SUM(DECODE(STATDAY, '07', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T07,
  57. SUM(DECODE(STATDAY, '07', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L07,
  58. SUM(DECODE(STATDAY, '08', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T08,
  59. SUM(DECODE(STATDAY, '08', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L08,
  60. SUM(DECODE(STATDAY, '09', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T09,
  61. SUM(DECODE(STATDAY, '09', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L09,
  62. SUM(DECODE(STATDAY, '10', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T10,
  63. SUM(DECODE(STATDAY, '10', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L10,
  64. SUM(DECODE(STATDAY, '11', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T11,
  65. SUM(DECODE(STATDAY, '11', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L11,
  66. SUM(DECODE(STATDAY, '12', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T12,
  67. SUM(DECODE(STATDAY, '12', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L12,
  68. SUM(DECODE(STATDAY, '13', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T13,
  69. SUM(DECODE(STATDAY, '13', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L13,
  70. SUM(DECODE(STATDAY, '14', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T14,
  71. SUM(DECODE(STATDAY, '14', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L14,
  72. SUM(DECODE(STATDAY, '15', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T15,
  73. SUM(DECODE(STATDAY, '15', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L15,
  74. SUM(DECODE(STATDAY, '16', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T16,
  75. SUM(DECODE(STATDAY, '16', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L16,
  76. SUM(DECODE(STATDAY, '17', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T17,
  77. SUM(DECODE(STATDAY, '17', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L17,
  78. SUM(DECODE(STATDAY, '18', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T18,
  79. SUM(DECODE(STATDAY, '18', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L18,
  80. SUM(DECODE(STATDAY, '19', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T19,
  81. SUM(DECODE(STATDAY, '19', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L19,
  82. SUM(DECODE(STATDAY, '20', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T20,
  83. SUM(DECODE(STATDAY, '20', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L20,
  84. SUM(DECODE(STATDAY, '21', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T21,
  85. SUM(DECODE(STATDAY, '21', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L21,
  86. SUM(DECODE(STATDAY, '22', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T22,
  87. SUM(DECODE(STATDAY, '22', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L22,
  88. SUM(DECODE(STATDAY, '23', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T23,
  89. SUM(DECODE(STATDAY, '23', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L23,
  90. SUM(DECODE(STATDAY, '24', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T24,
  91. SUM(DECODE(STATDAY, '24', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L24,
  92. SUM(DECODE(STATDAY, '25', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T25,
  93. SUM(DECODE(STATDAY, '25', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L25,
  94. SUM(DECODE(STATDAY, '26', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T26,
  95. SUM(DECODE(STATDAY, '26', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L26,
  96. SUM(DECODE(STATDAY, '27', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T27,
  97. SUM(DECODE(STATDAY, '27', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L27,
  98. SUM(DECODE(STATDAY, '28', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T28,
  99. SUM(DECODE(STATDAY, '28', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L28,
  100. SUM(DECODE(STATDAY, '29', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T29,
  101. SUM(DECODE(STATDAY, '29', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L29,
  102. SUM(DECODE(STATDAY, '30', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T30,
  103. SUM(DECODE(STATDAY, '30', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L30,
  104. SUM(DECODE(STATDAY, '31', DECODE(TRVTM, NULL, 0, TRVTM), 0)) AS T31,
  105. SUM(DECODE(STATDAY, '31', DECODE(TRVTM, NULL, 0, LINKLEN), 0)) AS L31
  106. FROM (
  107. SELECT Y.ARTERYID, Y.ARTERYNAME, Y.DIRECTION, Y.ARTERYLEN, X.TRFTYPE,
  108. Y.LINKID, Y.LINKLEN, X.STATDAY, X.SPD, X.TRVTM
  109. FROM (SELECT /*+ INDEX(A IX_ROAD_15M_STAT_PK) */
  110. 'FSN' AS TRFTYPE,
  111. B.ATRD_ID AS ARTERYID, A.ROAD_ID AS LINKID, C.SECT_LNGT AS LINKLEN, SUBSTR(A.STAT_DT, 7, 2) AS STATDAY, A.SPED AS SPD, A.TRVL_HH AS TRVTM
  112. FROM TB_ROAD_15M_STAT A, TB_ATRD_ROAD_RLTN B, TB_ROAD C
  113. WHERE 1=1
  114. AND A.STAT_DT BETWEEN '20170201000000' AND '20170231235959'
  115. AND SUBSTR(A.STAT_DT, 9, 4) BETWEEN '0400' AND '0600'
  116. AND A.ROAD_ID = B.ROAD_ID
  117. AND B.ROAD_ID = C.ROAD_ID
  118. ) X,
  119. VW_ATRD_ROAD_RLTN Y
  120. WHERE Y.LINKID = X.LINKID
  121. )
  122. GROUP BY ROLLUP (ARTERYID, DIRECTION, TRFTYPE)
  123. HAVING GROUPING(TRFTYPE) = 0) LX,
  124. VW_ATRD LY
  125. WHERE LY.ARTERYID = LX.ARTERYID(+)
  126. AND LY.DIRECTION = LX.DIRECTION(+)
  127. ORDER BY LY.ARTERYNAME, LY.DIRECTION, LX.TRFTYPE