From 8d65c8a08444cc103a9f512b09c770dfa64fa21a Mon Sep 17 00:00:00 2001 From: Pranathi Date: Mon, 9 Jun 2025 16:20:30 -0700 Subject: [PATCH] SQL3 Submitted --- Problem1.sql | 5 +++++ Problem2.sql | 7 +++++++ Problem3.sql | 5 +++++ Problem4.sql | 15 +++++++++++++++ 4 files changed, 32 insertions(+) create mode 100644 Problem1.sql create mode 100644 Problem2.sql create mode 100644 Problem3.sql create mode 100644 Problem4.sql diff --git a/Problem1.sql b/Problem1.sql new file mode 100644 index 0000000..10d52d3 --- /dev/null +++ b/Problem1.sql @@ -0,0 +1,5 @@ +SELECT DISTINCT l1.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/Problem2.sql b/Problem2.sql new file mode 100644 index 0000000..b62ea66 --- /dev/null +++ b/Problem2.sql @@ -0,0 +1,7 @@ +WITH CTE AS( + SELECT p.passenger_id, p.arrival_time, min(b.arrival_time) AS btime from passengers p INNER JOIN buses b ON p.arrival_time<= b.arrival_time + group by p.passenger_id +) +SELECT b.bus_id, COUNT(c.btime) as 'passengers_cnt' from buses b LEFT JOIN CTE c +ON c.btime = b.arrival_time +Group By b.bus_id \ No newline at end of file diff --git a/Problem3.sql b/Problem3.sql new file mode 100644 index 0000000..4a9c91a --- /dev/null +++ b/Problem3.sql @@ -0,0 +1,5 @@ +SELECT activity_date as 'day', Count(Distinct user_id) as 'active_users' +from activity +where activity_date>'2019-06-27' +And activity_date<='2019-07-27' +group by activity_date \ No newline at end of file diff --git a/Problem4.sql b/Problem4.sql new file mode 100644 index 0000000..4eedfeb --- /dev/null +++ b/Problem4.sql @@ -0,0 +1,15 @@ +CREATE PROCEDURE PivotProducts() +BEGIN + +SET SESSION GROUP_CONCAT_MAX_LEN = 1000000; + SELECT GROUP_CONCAT(DISTINCT CONCAT('SUM(IF(store = "',store , '" , price , null)) as ' , store)) + INTo @sql from products; + + SET @sql = CONCAT('SELECT product_id ,' , @sql , ' from products GROUP by 1'); + + + PREPARE statement from @sql; + EXECUTE statement; + DEALLOCATE PREPARE STATEMENT; + +END \ No newline at end of file