From c9b6b9a5ca082fe7c1b6f58d7713f785a9eb6a5c Mon Sep 17 00:00:00 2001 From: Martial Simon Date: Mon, 15 Sep 2025 01:08:27 +0200 Subject: add: graphs et rushs --- graphs/sql/following_you/req01.sql | 9 +++++++ graphs/sql/following_you/req02.sql | 7 ++++++ graphs/sql/following_you/req03.sql | 3 +++ graphs/sql/following_you/req04.sql | 25 +++++++++++++++++++ graphs/sql/following_you/req05.sql | 51 ++++++++++++++++++++++++++++++++++++++ graphs/sql/following_you/req06.sql | 15 +++++++++++ 6 files changed, 110 insertions(+) create mode 100644 graphs/sql/following_you/req01.sql create mode 100644 graphs/sql/following_you/req02.sql create mode 100644 graphs/sql/following_you/req03.sql create mode 100644 graphs/sql/following_you/req04.sql create mode 100644 graphs/sql/following_you/req05.sql create mode 100644 graphs/sql/following_you/req06.sql (limited to 'graphs/sql/following_you') diff --git a/graphs/sql/following_you/req01.sql b/graphs/sql/following_you/req01.sql new file mode 100644 index 0000000..bbbff29 --- /dev/null +++ b/graphs/sql/following_you/req01.sql @@ -0,0 +1,9 @@ +SELECT p.id,first_name,last_name +FROM public.people AS p +WHERE EXISTS ( + SELECT * + FROM transport.metro_usage_logs, transport.metro_stations AS s + WHERE p.id = person_id + AND s.id = station_id + AND s.name = 'Morgane Abeille' +) diff --git a/graphs/sql/following_you/req02.sql b/graphs/sql/following_you/req02.sql new file mode 100644 index 0000000..0498e4e --- /dev/null +++ b/graphs/sql/following_you/req02.sql @@ -0,0 +1,7 @@ +SELECT id,street_id,created_at,person_id +FROM backup.street_logs +WHERE id NOT IN ( + SELECT id + FROM public.street_logs +) +-- INTERSECT diff --git a/graphs/sql/following_you/req03.sql b/graphs/sql/following_you/req03.sql new file mode 100644 index 0000000..a4cb4bf --- /dev/null +++ b/graphs/sql/following_you/req03.sql @@ -0,0 +1,3 @@ +SELECT * +FROM +((SELECT * FROM public.street_logs) INTERSECT (SELECT * FROM backup.street_logs)) AS res diff --git a/graphs/sql/following_you/req04.sql b/graphs/sql/following_you/req04.sql new file mode 100644 index 0000000..9cb46ed --- /dev/null +++ b/graphs/sql/following_you/req04.sql @@ -0,0 +1,25 @@ +SELECT + place_type, + entries, + place_id +FROM + ( + ( + SELECT + 'metro' AS place_type, + station_id AS place_id, + COUNT(DISTINCT person_id) AS entries + FROM transport.metro_usage_logs + GROUP BY station_id + ) + UNION + ( + SELECT + 'shop' AS place_type, + shop_id AS place_id, + COUNT(DISTINCT person_id) AS entries + FROM public.shop_entrance_logs + GROUP BY shop_id + ) + ) AS res +ORDER BY entries DESC, place_id ASC, place_type DESC diff --git a/graphs/sql/following_you/req05.sql b/graphs/sql/following_you/req05.sql new file mode 100644 index 0000000..691442b --- /dev/null +++ b/graphs/sql/following_you/req05.sql @@ -0,0 +1,51 @@ +SELECT * +FROM + ( + ( + ( + SELECT + person_id, + p.first_name AS person_first_name, + p.last_name AS person_last_name, + created_at, + 'metro' AS place, + station_id AS place_id + FROM transport.metro_usage_logs + INNER JOIN public.people AS p + ON p.id = person_id + WHERE + created_at BETWEEN timestamp '2059-12-03 17:00:00' AND timestamp '2059-12-03 21:59:59' + ) + UNION + ( + SELECT + person_id, + p.first_name AS person_first_name, + p.last_name AS person_last_name, + created_at, + 'shop' AS place, + shop_id AS place_id + FROM public.shop_entrance_logs + INNER JOIN public.people AS p + ON p.id = person_id + WHERE + created_at BETWEEN timestamp '2059-12-03 17:00:00' AND timestamp '2059-12-03 21:59:59' + ) + ) + UNION + ( + SELECT + person_id, + p.first_name AS person_first_name, + p.last_name AS person_last_name, + created_at, + 'street' AS place, + street_id AS place_id + FROM public.street_logs + INNER JOIN public.people AS p + ON p.id = person_id + WHERE + created_at BETWEEN timestamp '2059-12-03 17:00:00' AND timestamp '2059-12-03 21:59:59' + ) + ) AS res +ORDER BY created_at ASC, person_id ASC diff --git a/graphs/sql/following_you/req06.sql b/graphs/sql/following_you/req06.sql new file mode 100644 index 0000000..a8b0558 --- /dev/null +++ b/graphs/sql/following_you/req06.sql @@ -0,0 +1,15 @@ +SELECT person_id,validation,created_at +FROM( + ( + SELECT person_id,validation,created_at + FROM transport.metro_usage_logs + WHERE created_at BETWEEN timestamp '2059-12-03 12:00:00' AND timestamp '2059-12-03 13:59:59' +) +UNION +( + SELECT person_id,validation,created_at + FROM transport.metro_usage_logs + WHERE created_at BETWEEN timestamp '2059-12-03 20:00:00' AND timestamp '2059-12-03 21:59:59' + LIMIT 10 +)) AS res +ORDER BY created_at DESC, person_id ASC -- cgit v1.2.3