From 91c1a7f1b04288a58f8b130b4250392b71ac1cb2 Mon Sep 17 00:00:00 2001 From: Paneri Patel Date: Thu, 26 Jun 2025 17:10:20 -0400 Subject: [PATCH] Done Mock-SQL-3 --- MarketAnalysisII.sql | 17 +++++++++++++++++ TournamentWinners.sql | 12 ++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 MarketAnalysisII.sql create mode 100644 TournamentWinners.sql diff --git a/MarketAnalysisII.sql b/MarketAnalysisII.sql new file mode 100644 index 0000000..d9756fd --- /dev/null +++ b/MarketAnalysisII.sql @@ -0,0 +1,17 @@ +''' +https://leetcode.com/problems/market-analysis-ii/description/ +''' + +WITH CTE AS ( + SELECT seller_id, item_id, RANK() OVER(PARTITION BY seller_id ORDER BY order_date) AS rnk + from Orders +), +ACTE AS ( + SELECT CTE.seller_id, Items.item_brand + FROM CTE + JOIN Items ON CTE.item_id = Items.item_id + WHERE rnk = 2 +) +SELECT Users.user_id AS seller_id, IF(Users.favorite_brand = ACTE.item_brand, 'yes', 'no') AS 2nd_item_fav_brand +FROM Users +LEFT JOIN ACTE ON Users.user_id = ACTE.seller_id \ No newline at end of file diff --git a/TournamentWinners.sql b/TournamentWinners.sql new file mode 100644 index 0000000..fb17879 --- /dev/null +++ b/TournamentWinners.sql @@ -0,0 +1,12 @@ +''' +https://leetcode.com/problems/tournament-winners/description/ +''' + +SELECT group_id, player_id FROM (SELECT p.player_id, p.group_id, RANK() OVER(PARTITION BY p.group_id ORDER BY + SUM(CASE + WHEN p.player_id = m.first_player THEN m.first_score ELSE second_score + END)DESC, p.player_id ASC) AS rnk +FROM Players p +JOIN Matches m ON p.player_id IN (m.first_player, m.second_player) +GROUP BY p.player_id, p.group_id) AS intermediate +WHERE rnk = 1