У меня есть следующее:
DECLARE @items TABLE
(
ItemId int NOT NULL,
[Description] varchar(255) NOT NULL,
Amount money NOT NULL
);
INSERT INTO @items SELECT 1, 'A', 10;
INSERT INTO @items SELECT 2, 'A', 10;
INSERT INTO @items SELECT 3, 'B', 11;
INSERT INTO @items SELECT 4, 'B', 11;
INSERT INTO @items SELECT 5, 'B', 11;
INSERT INTO @items SELECT 6, 'C', 12;
INSERT INTO @items SELECT 7, 'C', 12;
INSERT INTO @items SELECT 8, 'A', 10;
INSERT INTO @items SELECT 9, 'A', 10;
SELECT
ROW_NUMBER() OVER(PARTITION BY b.ItemId ORDER BY b.[Description]),
[Description],
COUNT(ItemId) OVER(PARTITION BY b.ItemId),
SUM(Amount) OVER(PARTITION BY b.ItemId)
FROM @items b
Результат должен быть:
1, A, 4, 40
2, B, 3, 33
3, C, 2, 24
Однако элементы не группируются.
Так как мне использовать ROW_NUMBER
для группировки записей?