GuestRT

park_nightparad

Aug 1st, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.50 KB | None | 0 0
  1. CREATE TABLE sandbox.yurbasov_park_nightparad AS
  2. -- Необходимо выгрузить автомобилистов кто парковался на парковке 0306 >=6 раз по выходным за последние два месяца
  3. WITH a AS
  4. (
  5.   SELECT parkingstart, phoneno AS full_hash, carno FROM parking_data.parking m
  6. WHERE placecode IN ( '3205', '0304', '0303', '0302', '9005', '3202', '0301', '3201', '9036', '3001', '2101' )
  7. AND PMOD(DATEDIFF(from_unixtime(unix_timestamp(parkingstart, 'dd.MM.yyyy HH:mm:ss'),'yyyy-MM-dd'), '2012-01-01'), 7) IN (0, 5, 6)
  8. AND from_unixtime(unix_timestamp(parkingstart, 'dd.MM.yyyy HH:mm:ss'),'yyyy-MM-dd') >= '2018-03-01'
  9. AND from_unixtime(unix_timestamp(parkingstart, 'dd.MM.yyyy HH:mm:ss'),'yyyy-MM-dd') <= '2018-04-31'
  10. AND (from_unixtime(unix_timestamp(parkingstart, 'dd.MM.yyyy HH:mm:ss'),'HH:mm:ss') >= '21:00:00'
  11. AND from_unixtime(unix_timestamp(parkingstart, 'dd.MM.yyyy HH:mm:ss'),'HH:mm:ss') <= '23:59:59'
  12. OR from_unixtime(unix_timestamp(parkingstart, 'dd.MM.yyyy HH:mm:ss'),'HH:mm:ss') >= '00:00:00'
  13. AND from_unixtime(unix_timestamp(parkingstart, 'dd.MM.yyyy HH:mm:ss'),'HH:mm:ss') <= '03:00:00')
  14. ), b AS
  15. (
  16.   SELECT COUNT(a.parkingstart) AS cnt, a.full_hash, a.carno FROM a GROUP BY full_hash, carno
  17. ), c AS
  18. (
  19.   SELECT cnt, full_hash, carno, s.phone FROM b JOIN secret.phones s ON s.phone_hash = b.full_hash WHERE b.cnt >= 6
  20. ), res AS
  21. (
  22.   SELECT cnt, carno, phone FROM c JOIN secret.regno s ON s.regno_hash = c.carno
  23. ) SELECT * FROM res
Add Comment
Please, Sign In to add comment