From 988839d2eae21d28ac0ffd2e592dc1ae08c5db7e Mon Sep 17 00:00:00 2001 From: Pranathi Date: Tue, 10 Jun 2025 11:37:49 -0700 Subject: [PATCH] SQL6 Submitted --- Problem1.sql | 3 +++ Problem2.sql | 3 +++ Problem3.sql | 3 +++ Problem4.sql | 1 + Problem5.sql | 8 ++++++++ 5 files changed, 18 insertions(+) create mode 100644 Problem1.sql create mode 100644 Problem2.sql create mode 100644 Problem3.sql create mode 100644 Problem4.sql create mode 100644 Problem5.sql diff --git a/Problem1.sql b/Problem1.sql new file mode 100644 index 0000000..1e3a697 --- /dev/null +++ b/Problem1.sql @@ -0,0 +1,3 @@ +SELECT a.player_id, a.device_id +FROM activity a +where a.event_date IN (SELECT MIN(b.event_date) FROM activity b WHERE a.player_id = b.player_id) \ No newline at end of file diff --git a/Problem2.sql b/Problem2.sql new file mode 100644 index 0000000..e0ef8ca --- /dev/null +++ b/Problem2.sql @@ -0,0 +1,3 @@ +SELECT player_id, event_date, SUM(games_played) +OVER(PARTITION BY player_id ORDER BY event_date) AS 'games_played_so_far' +FROM activity \ No newline at end of file diff --git a/Problem3.sql b/Problem3.sql new file mode 100644 index 0000000..20a3acf --- /dev/null +++ b/Problem3.sql @@ -0,0 +1,3 @@ +SELECT ROUND(MIN(SQRT(pow(p2.x-p1.x,2) + pow(p2.y-p1.y,2))),2) as 'shortest' from +point2D p1 INNER JOIN point2D p2 +ON (p1.x, p1.y) < (p2.x, p2.y); \ No newline at end of file diff --git a/Problem4.sql b/Problem4.sql new file mode 100644 index 0000000..c09a180 --- /dev/null +++ b/Problem4.sql @@ -0,0 +1 @@ +SELECT p.firstName, p.lastName, a.city, a.state from Person p LEFT JOIN Address a ON p.personId = a.personId \ No newline at end of file diff --git a/Problem5.sql b/Problem5.sql new file mode 100644 index 0000000..86df84e --- /dev/null +++ b/Problem5.sql @@ -0,0 +1,8 @@ +WITH CTE AS( +SELECT customer_id , YEAR(order_date) as 'year', SUM(price) as 'price' from orders GROUP BY year , customer_id +order by customer_id , year +) + +SELECT c1.customer_id from CTE c1 LEFT JOIN CTE c2 ON c1.customer_id = c2.customer_id +AND c1.year + 1 = c2.year AND c1.price < c2.price GROUP BY c1.customer_id +HAVING COUNT(*) - COUNT(c2.customer_id) = 1; \ No newline at end of file