summaryrefslogtreecommitdiff
path: root/graphs/sql/battle_plan
diff options
context:
space:
mode:
authorMartial Simon <msimon_fr@hotmail.com>2025-09-15 01:08:27 +0200
committerMartial Simon <msimon_fr@hotmail.com>2025-09-15 01:08:27 +0200
commitc9b6b9a5ca082fe7c1b6f58d7713f785a9eb6a5c (patch)
tree3e4f42f93c7ae89a364e4d51fff6e5cec4e55fa9 /graphs/sql/battle_plan
add: graphs et rushs
Diffstat (limited to 'graphs/sql/battle_plan')
-rw-r--r--graphs/sql/battle_plan/req01.sql19
-rw-r--r--graphs/sql/battle_plan/req02.sql8
-rw-r--r--graphs/sql/battle_plan/req03.sql17
-rw-r--r--graphs/sql/battle_plan/req04.sql8
4 files changed, 52 insertions, 0 deletions
diff --git a/graphs/sql/battle_plan/req01.sql b/graphs/sql/battle_plan/req01.sql
new file mode 100644
index 0000000..8adb788
--- /dev/null
+++ b/graphs/sql/battle_plan/req01.sql
@@ -0,0 +1,19 @@
+EXPLAIN (ANALYZE, COSTS, BUFFERS, VERBOSE, FORMAT YAML)
+WITH RECURSIVE fib AS (
+ SELECT
+ 1 AS n,
+ 1::bigint AS fibn,
+ 1::bigint AS fibn_1
+ UNION ALL
+ SELECT
+ n + 1 AS n,
+ fibn_1 AS fibn,
+ fibn + fibn_1 AS fibn_1
+ FROM fib
+ WHERE n < 80
+)
+
+SELECT
+ n,
+ fibn
+FROM fib;
diff --git a/graphs/sql/battle_plan/req02.sql b/graphs/sql/battle_plan/req02.sql
new file mode 100644
index 0000000..a9d8e9b
--- /dev/null
+++ b/graphs/sql/battle_plan/req02.sql
@@ -0,0 +1,8 @@
+SELECT *
+FROM (
+ VALUES
+ ('a', 2),
+ ('b', 3),
+ ('b', 4),
+ ('c', 1)
+) AS answers(question, choice);
diff --git a/graphs/sql/battle_plan/req03.sql b/graphs/sql/battle_plan/req03.sql
new file mode 100644
index 0000000..5a3ba51
--- /dev/null
+++ b/graphs/sql/battle_plan/req03.sql
@@ -0,0 +1,17 @@
+SELECT
+ people.first_name,
+ people.last_name,
+ gusto_tables.number_of_seats AS guest_number,
+ round(reservations.bill_total::numeric, 2) AS bill_total
+FROM gusto_reservations AS reservations,
+ gusto_tables,
+ gusto_guests AS guests,
+ people
+WHERE reservations.table_id = gusto_tables.id
+ AND reservations.id = guests.reservation_id
+ AND reservations.cancelled = FALSE
+ AND guests.guest_id = people.id
+ AND people.last_name LIKE concat(reservations.reservation_name, '%')
+ORDER BY
+ gusto_tables.number_of_seats ASC, reservations.bill_total DESC NULLS LAST
+LIMIT 10;
diff --git a/graphs/sql/battle_plan/req04.sql b/graphs/sql/battle_plan/req04.sql
new file mode 100644
index 0000000..33988c6
--- /dev/null
+++ b/graphs/sql/battle_plan/req04.sql
@@ -0,0 +1,8 @@
+SELECT *
+FROM (
+ VALUES
+ ('a', 1),
+ ('b', 1),
+ ('b', 3),
+ ('c', 1)
+) AS answers(question, choice);