일별 VDS-검지기 교통량 통계.SQL 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. SELECT LY.CTLR_MNGM_NMBR, LY.VDS_CTLR_ID, LY.LCTN, LY.DTCT_NMBR, LY.ISTL_LANE, LY.VDS_DTCT_NM,
  2. LX.TRFTYPE,
  3. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(TOTTFVL, 0, '-', TOTTFVL)) AS TOTTFVL,
  4. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(AVGTFVL, 0, '-', AVGTFVL)) AS AVGTFVLX,
  5. DECODE(NVL(L01,0)+NVL(L02,0)+NVL(L03,0)+NVL(L04,0)+NVL(L05,0)+NVL(L06,0)+NVL(L07,0)+
  6. NVL(L08,0)+NVL(L09,0)+NVL(L10,0)+NVL(L11,0)+NVL(L12,0)+NVL(L13,0)+NVL(L14,0)+
  7. NVL(L15,0)+NVL(L16,0)+NVL(L17,0)+NVL(L18,0)+NVL(L19,0)+NVL(L20,0)+NVL(L21,0)+
  8. NVL(L22,0)+NVL(L23,0)+NVL(L24,0)+NVL(L25,0)+NVL(L26,0)+NVL(L27,0)+NVL(L28,0)+
  9. NVL(L29,0)+NVL(L30,0)+NVL(L31,0), 0, '-',
  10. ROUND(
  11. (NVL(L01,0)+NVL(L02,0)+NVL(L03,0)+NVL(L04,0)+NVL(L05,0)+NVL(L06,0)+NVL(L07,0)+
  12. NVL(L08,0)+NVL(L09,0)+NVL(L10,0)+NVL(L11,0)+NVL(L12,0)+NVL(L13,0)+NVL(L14,0)+
  13. NVL(L15,0)+NVL(L16,0)+NVL(L17,0)+NVL(L18,0)+NVL(L19,0)+NVL(L20,0)+NVL(L21,0)+
  14. NVL(L22,0)+NVL(L23,0)+NVL(L24,0)+NVL(L25,0)+NVL(L26,0)+NVL(L27,0)+NVL(L28,0)+
  15. NVL(L29,0)+NVL(L30,0)+NVL(L31,0)) /
  16. (DECODE(L01,NULL,0,1)+DECODE(L02,NULL,0,1)+DECODE(L03,NULL,0,1)+
  17. DECODE(L04,NULL,0,1)+DECODE(L05,NULL,0,1)+DECODE(L06,NULL,0,1)+
  18. DECODE(L07,NULL,0,1)+DECODE(L08,NULL,0,1)+DECODE(L09,NULL,0,1)+
  19. DECODE(L10,NULL,0,1)+DECODE(L11,NULL,0,1)+DECODE(L12,NULL,0,1)+
  20. DECODE(L13,NULL,0,1)+DECODE(L14,NULL,0,1)+DECODE(L15,NULL,0,1)+
  21. DECODE(L16,NULL,0,1)+DECODE(L17,NULL,0,1)+DECODE(L18,NULL,0,1)+
  22. DECODE(L19,NULL,0,1)+DECODE(L20,NULL,0,1)+DECODE(L21,NULL,0,1)+
  23. DECODE(L22,NULL,0,1)+DECODE(L23,NULL,0,1)+DECODE(L24,NULL,0,1)+
  24. DECODE(L25,NULL,0,1)+DECODE(L26,NULL,0,1)+DECODE(L27,NULL,0,1)+
  25. DECODE(L28,NULL,0,1)+DECODE(L29,NULL,0,1)+DECODE(L30,NULL,0,1)+
  26. DECODE(L31,NULL,0,1)), 0)) AS AVGTFVL,
  27. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L01, NULL, '-', L01)) AS C01,
  28. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L02, NULL, '-', L02)) AS C02,
  29. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L03, NULL, '-', L03)) AS C03,
  30. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L04, NULL, '-', L04)) AS C04,
  31. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L05, NULL, '-', L05)) AS C05,
  32. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L06, NULL, '-', L06)) AS C06,
  33. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L07, NULL, '-', L07)) AS C07,
  34. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L08, NULL, '-', L08)) AS C08,
  35. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L09, NULL, '-', L09)) AS C09,
  36. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L10, NULL, '-', L10)) AS C10,
  37. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L11, NULL, '-', L11)) AS C11,
  38. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L12, NULL, '-', L12)) AS C12,
  39. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L13, NULL, '-', L13)) AS C13,
  40. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L14, NULL, '-', L14)) AS C14,
  41. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L15, NULL, '-', L15)) AS C15,
  42. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L16, NULL, '-', L16)) AS C16,
  43. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L17, NULL, '-', L17)) AS C17,
  44. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L18, NULL, '-', L18)) AS C18,
  45. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L19, NULL, '-', L19)) AS C19,
  46. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L20, NULL, '-', L20)) AS C20,
  47. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L21, NULL, '-', L21)) AS C21,
  48. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L22, NULL, '-', L22)) AS C22,
  49. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L23, NULL, '-', L23)) AS C23,
  50. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L24, NULL, '-', L24)) AS C24,
  51. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L25, NULL, '-', L25)) AS C25,
  52. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L26, NULL, '-', L26)) AS C26,
  53. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L27, NULL, '-', L27)) AS C27,
  54. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L28, NULL, '-', L28)) AS C28,
  55. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L29, NULL, '-', L29)) AS C29,
  56. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L30, NULL, '-', L30)) AS C30,
  57. DECODE(LX.DTCT_NMBR, NULL, '-', DECODE(L31, NULL, '-', L31)) AS C31
  58. FROM (
  59. SELECT GROUPING(DTCT_NMBR) AS GROUPING_DTCT_NMBR,
  60. GROUPING(ISTL_LANE) AS GROUPING_ISTL_LANE,
  61. GROUPING(TRFTYPE) AS GROUPING_TRFTYPE,
  62. CASE WHEN GROUPING(DTCT_NMBR ) = 1 THEN '°ËÁö±â' ELSE DTCT_NMBR END AS GROUP_DTCT_NMBR,
  63. CASE WHEN GROUPING(ISTL_LANE) = 1 THEN 'Â÷·Î' ELSE ISTL_LANE END AS GROUP_ISTL_LANE,
  64. CASE WHEN GROUPING(TRFTYPE) = 1 THEN '¼Ò°è' ELSE TRFTYPE END AS GROUP_TRFTYPE,
  65. DTCT_NMBR, ISTL_LANE, TRFTYPE,
  66. SUM(TFVL) TOTTFVL,
  67. ROUND(AVG(TFVL), 0) AVGTFVL,
  68. SUM(DECODE(STATDAY, '01', TFVL)) AS L01,
  69. SUM(DECODE(STATDAY, '02', TFVL)) AS L02,
  70. SUM(DECODE(STATDAY, '03', TFVL)) AS L03,
  71. SUM(DECODE(STATDAY, '04', TFVL)) AS L04,
  72. SUM(DECODE(STATDAY, '05', TFVL)) AS L05,
  73. SUM(DECODE(STATDAY, '06', TFVL)) AS L06,
  74. SUM(DECODE(STATDAY, '07', TFVL)) AS L07,
  75. SUM(DECODE(STATDAY, '08', TFVL)) AS L08,
  76. SUM(DECODE(STATDAY, '09', TFVL)) AS L09,
  77. SUM(DECODE(STATDAY, '10', TFVL)) AS L10,
  78. SUM(DECODE(STATDAY, '11', TFVL)) AS L11,
  79. SUM(DECODE(STATDAY, '12', TFVL)) AS L12,
  80. SUM(DECODE(STATDAY, '13', TFVL)) AS L13,
  81. SUM(DECODE(STATDAY, '14', TFVL)) AS L14,
  82. SUM(DECODE(STATDAY, '15', TFVL)) AS L15,
  83. SUM(DECODE(STATDAY, '16', TFVL)) AS L16,
  84. SUM(DECODE(STATDAY, '17', TFVL)) AS L17,
  85. SUM(DECODE(STATDAY, '18', TFVL)) AS L18,
  86. SUM(DECODE(STATDAY, '19', TFVL)) AS L19,
  87. SUM(DECODE(STATDAY, '20', TFVL)) AS L20,
  88. SUM(DECODE(STATDAY, '21', TFVL)) AS L21,
  89. SUM(DECODE(STATDAY, '22', TFVL)) AS L22,
  90. SUM(DECODE(STATDAY, '23', TFVL)) AS L23,
  91. SUM(DECODE(STATDAY, '24', TFVL)) AS L24,
  92. SUM(DECODE(STATDAY, '25', TFVL)) AS L25,
  93. SUM(DECODE(STATDAY, '26', TFVL)) AS L26,
  94. SUM(DECODE(STATDAY, '27', TFVL)) AS L27,
  95. SUM(DECODE(STATDAY, '28', TFVL)) AS L28,
  96. SUM(DECODE(STATDAY, '29', TFVL)) AS L29,
  97. SUM(DECODE(STATDAY, '30', TFVL)) AS L30,
  98. SUM(DECODE(STATDAY, '31', TFVL)) AS L31
  99. FROM (
  100. SELECT Y.DTCT_NMBR, Y.VDS_DTCT_NM, TO_CHAR(Y.ISTL_LANE) AS ISTL_LANE,
  101. X.TRFTYPE, X.STATDAY, X.TFVL
  102. FROM (SELECT /*+ INDEX(A IX_VDS_DTCT_HH_STAT_PK) */
  103. 'DTCT' AS TRFTYPE,
  104. A.DTCT_NMBR AS DTCT_NMBR, SUBSTR(A.STAT_DT, 7, 2) AS STATDAY, A.TFVL AS TFVL
  105. FROM TB_VDS_DTCT_HH_STAT A
  106. WHERE 1=1
  107. AND A.STAT_DT BETWEEN '20170201000000' AND '20170201235959'
  108. AND SUBSTR(A.STAT_DT, 9, 4) BETWEEN '0400' AND '0600'
  109. ) X,
  110. TB_VDS_DTCT_MSTR Y
  111. WHERE 1=1
  112. AND Y.DEL_YN = 'N'
  113. AND Y.DTCT_NMBR = X.DTCT_NMBR
  114. )
  115. GROUP BY ROLLUP (DTCT_NMBR, ISTL_LANE, TRFTYPE)
  116. HAVING GROUPING(TRFTYPE) = 0
  117. ) LX,
  118. (
  119. SELECT A.CTLR_MNGM_NMBR, A.VDS_CTLR_ID, A.LCTN, B.DTCT_NMBR, B.ISTL_LANE, B.VDS_DTCT_NM
  120. FROM TB_VDS_CTLR A,
  121. TB_VDS_DTCT_MSTR B
  122. WHERE 1=1
  123. AND A.DEL_YN = 'N'
  124. AND B.DEL_YN = 'N'
  125. AND A.CTLR_MNGM_NMBR = B.CTLR_MNGM_NMBR
  126. ) LY
  127. WHERE LY.DTCT_NMBR = LX.DTCT_NMBR(+)
  128. ORDER BY LY.LCTN, LY.ISTL_LANE