Skip to content

Commit c588b16

Browse files
Update Advanced SQL Puzzles Solutions.sql
1 parent e6667a6 commit c588b16

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

Advanced SQL Puzzles/Advanced SQL Puzzles Solutions.sql

+29
Original file line numberDiff line numberDiff line change
@@ -1181,6 +1181,8 @@ INSERT INTO #Orders VALUES
11811181
('Ord645363',2002,5,'Direct Parts');
11821182
GO
11831183

1184+
--Solution 1
1185+
--RANK function
11841186
WITH cte_Rank AS
11851187
(
11861188
SELECT CustomerID,
@@ -1195,6 +1197,33 @@ FROM #Orders a INNER JOIN
11951197
WHERE Rnk = 1;
11961198
GO
11971199

1200+
--Solution 2
1201+
--MAX Function
1202+
WITH cte_Max AS
1203+
(
1204+
SELECT *,
1205+
MAX(Ordercount) OVER (PARTITION BY CustomerID ORDER BY CustomerID) AS MaxOrderCount
1206+
FROM #Orders
1207+
)
1208+
SELECT CustomerID, Vendor
1209+
FROM cte_Max
1210+
WHERE OrderCount = MaxOrderCount;
1211+
GO
1212+
1213+
--Solution 3
1214+
--MAX with Correlated SubQuery
1215+
WITH cte_Max AS
1216+
(
1217+
SELECT CustomerID,
1218+
MAX(OrderCount) AS MaxOrderCount
1219+
FROM #Orders
1220+
GROUP BY CustomerID
1221+
)
1222+
SELECT *
1223+
FROM #Orders a
1224+
WHERE EXISTS (SELECT 1 FROM cte_Max b WHERE a.CustomerID = b.CustomerID and a.OrderCount = MaxOrderCount);
1225+
GO
1226+
11981227
/*----------------------------------------------------
11991228
Answer to Puzzle #26
12001229
Previous Years Sales

0 commit comments

Comments
 (0)