From 6a4e08c15d852123469fb6bb6375cbc4a017ed54 Mon Sep 17 00:00:00 2001 From: Aniruddh Date: Thu, 12 Jun 2025 16:11:01 -0700 Subject: [PATCH] Completed Sql3 --- ConsecutiveNumbers.sql | 8 ++++++++ Numberofpassengers.sql | 10 ++++++++++ PivotProducts.sql | 17 +++++++++++++++++ useractivity.sql | 9 +++++++++ 4 files changed, 44 insertions(+) create mode 100644 ConsecutiveNumbers.sql create mode 100644 Numberofpassengers.sql create mode 100644 PivotProducts.sql create mode 100644 useractivity.sql diff --git a/ConsecutiveNumbers.sql b/ConsecutiveNumbers.sql new file mode 100644 index 0000000..fdee69f --- /dev/null +++ b/ConsecutiveNumbers.sql @@ -0,0 +1,8 @@ +# Write your MySQL query statement below +SELECT DISTINCT l3.num AS 'ConsecutiveNums' FROM logs l1, logs l2, logs l3 WHERE +l1.id = l2.id -1 +AND +l2.id = l3.id-1 +AND l1.num =l2.num +AND +l2.num = l3.num; \ No newline at end of file diff --git a/Numberofpassengers.sql b/Numberofpassengers.sql new file mode 100644 index 0000000..f5ac83c --- /dev/null +++ b/Numberofpassengers.sql @@ -0,0 +1,10 @@ +SELECT + bus_id, + count(passenger_id) - lag(count(passenger_id), 1, 0) OVER ( + ORDER BY b.arrival_time + ) AS passengers_cnt +FROM + Buses AS b + LEFT JOIN Passengers AS p ON p.arrival_time <= b.arrival_time +GROUP BY 1 +ORDER BY 1; \ No newline at end of file diff --git a/PivotProducts.sql b/PivotProducts.sql new file mode 100644 index 0000000..63cbfff --- /dev/null +++ b/PivotProducts.sql @@ -0,0 +1,17 @@ +REATE PROCEDURE PivotProducts() +BEGIN + # Write your MySQL query statement below. + SET group_concat_max_len = 5000; + SELECT GROUP_CONCAT(DISTINCT 'MAX(CASE WHEN store = \'', + store, + '\' THEN price ELSE NULL END) AS ', + store + ORDER BY store) INTO @sql + FROM Products; + SET @sql = CONCAT('SELECT product_id, ', + @sql, + ' FROM Products GROUP BY product_id'); + PREPARE stmt FROM @sql; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; +END \ No newline at end of file diff --git a/useractivity.sql b/useractivity.sql new file mode 100644 index 0000000..357fbcf --- /dev/null +++ b/useractivity.sql @@ -0,0 +1,9 @@ +SELECT + activity_date AS day, + COUNT(DISTINCT user_id) AS active_users +FROM + Activity +WHERE + activity_date BETWEEN '2019-06-28' AND '2019-07-27' +GROUP BY + activity_date