GuestRT

de560_volokolam_radio

Nov 23rd, 2018
748
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 6.07 KB | None | 0 0
  1. DROP TABLE sandbox_yurbasov.de560_volokolam_radio_01
  2. ;
  3.  
  4. DROP TABLE sandbox_yurbasov.de560_volokolam_radio_02
  5. ;
  6.  
  7. DROP TABLE sandbox_yurbasov.de560_volokolam_radio_03
  8. ;
  9.  
  10. DROP TABLE sandbox_yurbasov.de560_volokolam_radio_04
  11. ;
  12.  
  13. DROP TABLE sandbox_yurbasov.de560_volokolam_radio_05
  14. ;
  15.  
  16. DROP TABLE sandbox_yurbasov.de560_volokolam_radio_06
  17. ;
  18.  
  19. DROP TABLE sandbox_yurbasov.de560_volokolam_radio_07
  20. ;
  21.  
  22. DROP TABLE sandbox_yurbasov.de560_volokolam_radio_08
  23. ;
  24.  
  25. DROP TABLE sandbox_yurbasov.de560_volokolam_radio_09
  26. ;
  27.  
  28. DROP TABLE sandbox_yurbasov.de560_volokolam_radio_10
  29. ;
  30.  
  31. DROP TABLE sandbox_yurbasov.de560_volokolam_radio_11
  32. ;
  33.  
  34. DROP TABLE sandbox_yurbasov.de560_volokolam_radio_12
  35. ;
  36.  
  37. DROP TABLE sandbox_yurbasov.de560_volokolam_radio
  38. ;
  39.  
  40. CREATE TABLE sandbox_yurbasov.de560_volokolam_radio_01
  41. -- Период дат: 29.10.2018 – 19.11.2018.
  42. -- Форма представления: Дата (ДД.ММ.ГГГГ)
  43. -- Время (шестичасовые интервалы: 00:00, 06:00, 12:00, 18:00)
  44. -- Направление (от камеры из квадрата №1 к камере в квадрат №2 или наоборот)
  45. -- Кол-во ФВФ на камеру по направлению.
  46. -- Квадрат 1
  47. -- 1) В центр: id = 29312, v_camera_place = 'Волоколамское ш., д.63, с.5, в центр, МГО № 171, г. Москва'
  48. -- 2) Из центра: id = 32912, v_camera_place = 'Волоколамское ш., д.80, с.1, из центра, г. Москва'
  49. -- Квадрат 2
  50. -- 3) В центр: id = 100900440416, v_camera_place = 'Волоколамское ш., д.7, в центр, г. Москва'
  51. -- 4) Из центра: id = 100901100716, v_camera_place = 'Волоколамское ш., д.10, из центра, г. Москва'
  52. AS
  53. SELECT time_check AS v_time_check, regno AS v_regno, camera AS v_camera_id,
  54. concat(DAY, "%0", CAST(round((unix_timestamp(time_check) - unix_timestamp('2018-01-01 00:00:00', 'yyyy-MM-dd hh:mm:ss'))/360) % 4 * 6 AS string), ":00:00") AS part FROM codd_data.codd_radio
  55. WHERE DAY >= '2018-10-29' AND DAY <= '2018-11-19' AND direction = 0
  56. AND camera IN ('PR-29312-1','PR-32912-1', 'PR-100900440416-1','PR-100901100716-1')
  57. ;
  58.  
  59. CREATE TABLE sandbox_yurbasov.de560_volokolam_radio_02
  60. AS
  61. SELECT part AS part_2, v_time_check AS v_time_check_2, v_regno AS v_regno_2, v_camera_id AS v_camera_id_2,
  62.  'В центр' v_case_2 FROM sandbox_yurbasov.de560_volokolam_radio_01
  63. WHERE v_camera_id = 'PR-29312-1'
  64. ;
  65.  
  66. CREATE TABLE sandbox_yurbasov.de560_volokolam_radio_03
  67. AS
  68. SELECT part AS part_3, v_time_check AS v_time_check_3, v_regno AS v_regno_3, v_camera_id AS v_camera_id_3,
  69.  'В центр' v_case_3 FROM sandbox_yurbasov.de560_volokolam_radio_01
  70. WHERE v_camera_id = 'PR-100900440416-1'
  71. ;
  72.  
  73. CREATE TABLE sandbox_yurbasov.de560_volokolam_radio_04
  74. AS
  75. SELECT part AS part_4, v_time_check AS v_time_check_4, v_regno AS v_regno_4, v_camera_id AS v_camera_id_4,
  76.  'Из центра' v_case_4 FROM sandbox_yurbasov.de560_volokolam_radio_01
  77. WHERE v_camera_id = 'PR-32912-1'
  78. ;
  79.  
  80. CREATE TABLE sandbox_yurbasov.de560_volokolam_radio_05
  81. AS
  82. SELECT part AS part_5, v_time_check AS v_time_check_5, v_regno AS v_regno_5, v_camera_id AS v_camera_id_5,
  83.  'Из центра' v_case_5 FROM sandbox_yurbasov.de560_volokolam_radio_01
  84. WHERE v_camera_id = 'PR-100901100716-1'
  85. ;
  86.  
  87. CREATE TABLE sandbox_yurbasov.de560_volokolam_radio_06
  88. AS
  89. SELECT part_2 AS part_6, v_time_check_2 AS v_time_check_6, v_regno_2 AS v_regno_6, v_camera_id_2 AS v_camera_id_6,
  90.  v_case_2 AS v_case_6 FROM sandbox_yurbasov.de560_volokolam_radio_02
  91. JOIN sandbox_yurbasov.de560_volokolam_radio_03 ON v_regno_2 = v_regno_3
  92. WHERE v_time_check_2 <= v_time_check_3
  93. ;
  94.  
  95. CREATE TABLE sandbox_yurbasov.de560_volokolam_radio_07
  96. AS
  97. SELECT part_3 AS part_6, v_time_check_3 AS v_time_check_6, v_regno_3 AS v_regno_6, v_camera_id_3 AS v_camera_id_6,
  98.  v_case_3 AS v_case_6 FROM sandbox_yurbasov.de560_volokolam_radio_02
  99. JOIN sandbox_yurbasov.de560_volokolam_radio_03 ON v_regno_2 = v_regno_3
  100. WHERE v_time_check_2 > v_time_check_3
  101. ;
  102.  
  103. CREATE TABLE sandbox_yurbasov.de560_volokolam_radio_08
  104. AS
  105. SELECT * FROM sandbox_yurbasov.de560_volokolam_radio_06
  106. UNION ALL
  107. SELECT * FROM sandbox_yurbasov.de560_volokolam_radio_07
  108. ;
  109.  
  110. CREATE TABLE sandbox_yurbasov.de560_volokolam_radio_09
  111. AS
  112. SELECT part_4 AS part_9, v_time_check_4 AS v_time_check_9, v_regno_4 AS v_regno_9, v_camera_id_4 AS v_camera_id_9
  113.  v_case_4 AS v_case_9 FROM sandbox_yurbasov.de560_volokolam_radio_04
  114. JOIN sandbox_yurbasov.de560_volokolam_radio_05 ON v_regno_4 = v_regno_5
  115. WHERE v_time_check_4 <= v_time_check_5
  116. ;
  117.  
  118. CREATE TABLE sandbox_yurbasov.de560_volokolam_radio_10
  119. AS
  120. SELECT part_5 AS part_9, v_time_check_5 AS v_time_check_9, v_regno_5 AS v_regno_9, v_camera_id_5 AS v_camera_id_9
  121.  v_case_5 AS v_case_9 FROM sandbox_yurbasov.de560_volokolam_radio_04
  122. JOIN sandbox_yurbasov.de560_volokolam_radio_05 ON v_regno_4 = v_regno_5
  123. WHERE v_time_check_4 > v_time_check_5
  124. ;
  125.  
  126. CREATE TABLE sandbox_yurbasov.de560_volokolam_radio_11
  127. AS
  128. SELECT * FROM sandbox_yurbasov.de560_volokolam_radio_09
  129. UNION ALL
  130. SELECT * FROM sandbox_yurbasov.de560_volokolam_radio_10
  131. ;
  132.  
  133. -- таблицу к формату: "дата", "время", "направление", "количество фиксаций ",
  134. -- где в столбце "направление" вместо местоположения камеры необходимо указать квадрат,
  135. -- которому она принадлежала и направление (в центр, из центра).
  136. CREATE TABLE sandbox_yurbasov.de560_volokolam_radio_12
  137. AS
  138. SELECT split(part_6, "%")[0] AS dt, split(part_6, "%")[1] AS tm, v_case_6 AS dir, COUNT(v_time_check_6) AS cnt FROM sandbox_yurbasov.de560_volokolam_radio_08 GROUP BY part_6, v_case_6
  139. UNION ALL
  140. SELECT split(part_9, "%")[0] AS dt, split(part_9, "%")[1] AS tm, v_case_9 AS dir, COUNT(v_time_check_9) AS cnt FROM sandbox_yurbasov.de560_volokolam_radio_11 GROUP BY part_9, v_case_9
  141. ;
  142.  
  143. CREATE TABLE sandbox_yurbasov.de560_volokolam_radio
  144. AS
  145. SELECT * FROM sandbox_yurbasov.de560_volokolam_radio_12
  146. ;
Advertisement
Add Comment
Please, Sign In to add comment