-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathUsing Group By operators in a Fabric warehouse.txt
More file actions
61 lines (52 loc) · 1.56 KB
/
Using Group By operators in a Fabric warehouse.txt
File metadata and controls
61 lines (52 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
-- Create Customer table
CREATE TABLE Customer (
CustomerID INT,
Name VARCHAR(100)
);
-- Create FoodOrder table
CREATE TABLE FoodOrder (
OrderID INT,
CustomerID INT,
OrderDate DATE,
FoodItem VARCHAR(100),
Quantity INT
);
-- Insert Customers
INSERT INTO Customer (CustomerID, Name)
VALUES
(1, 'Alice'),
(2, 'Bob'),
(3, 'Charlie');
-- Insert Orders
INSERT INTO FoodOrder (OrderID, CustomerID, OrderDate, FoodItem, Quantity)
VALUES
(1, 1, '2023-01-10', 'Pizza', 2),
(2, 1, '2023-03-15', 'Burger', 1),
(3, 2, '2023-05-12', 'Pizza', 3),
(4, 2, '2023-07-20', 'Salad', 1),
(5, 3, '2024-02-05', 'Burger', 4),
(6, 3, '2024-04-18', 'Pizza', 2),
(7, 1, '2024-06-11', 'Salad', 1);
--Query 1
SELECT YEAR(FO.OrderDate) AS OrderYear, FO.FoodItem,
SUM(FO.Quantity) AS TotalQuantity
FROM FoodOrder FO INNER JOIN Customer C
ON FO.CustomerID = C.CustomerID
GROUP BY ROLLUP(YEAR(FO.OrderDate), FO.FoodItem)
ORDER BY OrderYear, FoodItem;
--Query 2
SELECT YEAR(FO.OrderDate) AS OrderYear, FO.FoodItem,
SUM(FO.Quantity) AS TotalQuantity
FROM FoodOrder FO INNER JOIN Customer C
ON FO.CustomerID = C.CustomerID
GROUP BY ROLLUP(FO.FoodItem, YEAR(FO.OrderDate))
ORDER BY OrderYear, FoodItem;
--Query 3
SELECT YEAR(FO.OrderDate) AS OrderYear, FO.FoodItem, SUM(FO.Quantity) AS TotalQuantity
FROM FoodOrder FO INNER JOIN Customer C
ON FO.CustomerID = C.CustomerID
GROUP BY GROUPING SETS (
(YEAR(FO.OrderDate), FO.FoodItem),
(FO.FoodItem)
)
ORDER BY OrderYear, FoodItem;