Я пытаюсь добавить промежуточные итоги в конец моего вывода к этому коду с помощью ROLLUP, но это не говорит о том, что они не входят в группу. Я не хочу, чтобы они были сгруппированы, я просто хочу, чтобы промежуточные итоги были внизу.SQL: свертывание без группировки
SELECT Date, HomeTeam, AwayTeam, FTHG, FTAG, FTR,
CASE WHEN HomeTeam = 'Arsenal' THEN
CASE FTR WHEN 'H' THEN 3 WHEN 'D' THEN 1 WHEN 'A' THEN 0 ELSE 0 END
WHEN AwayTeam = 'Arsenal' THEN
CASE FTR WHEN 'H' THEN 0 WHEN 'D' THEN 1 WHEN 'A' THEN 3 ELSE 0 END
ELSE 0
END
AS Points, CASE WHEN HomeTeam = 'Arsenal' THEN FTHG - FTAG
WHEN AwayTeam = 'Arsenal' THEN FTAG - FTHG
ELSE 0
END AS GD
FROM [Games].[dbo].[Master]
WHERE (HomeTeam = 'Arsenal' OR AwayTeam = 'Arsenal') AND Date < '20121201'
ORDER BY Date DESC
Так как идентификатор выходного сигнала в обычном режиме, но с рядом на дне, с HomeTeam = «Total», Очки = (сумма баллов колонки), GD = (сумма столбца GD).
Date HomeTeam AwayTeam FTHG FTAG FTR Points GD
----------------------- --------------- ----------- ---- ---- --- ------ --
2012-11-28 00:00:00.000 Everton Arsenal 1 1 D 1 0
2012-11-24 00:00:00.000 Aston Villa Arsenal 0 0 D 1 0
2012-11-17 00:00:00.000 Arsenal Tottenham 5 2 H 3 3
2012-11-10 00:00:00.000 Arsenal Fulham 3 3 D 1 0
2012-11-03 00:00:00.000 Man Utd Arsenal 2 1 H 0 -1
2012-10-27 00:00:00.000 Arsenal QPR 1 0 H 3 1
2012-10-20 00:00:00.000 Norwich City Arsenal 1 0 H 0 -1
2012-10-06 00:00:00.000 West Ham United Arsenal 1 3 A 3 2
2012-09-29 00:00:00.000 Arsenal Chelsea 1 2 A 0 -1
2012-09-23 00:00:00.000 Manchester City Arsenal 1 1 D 1 0
2012-09-15 00:00:00.000 Arsenal Southampton 6 1 H 3 5
2012-09-02 00:00:00.000 Liverpool Arsenal 0 2 A 3 2
2012-08-26 00:00:00.000 Stoke City Arsenal 0 0 D 1 0
2012-08-18 00:00:00.000 Arsenal Sunderland 0 0 D 1 0
Возможно ли это?
bluefeet на помощь !!!!!!!!!!! –
Вы можете добавить два дополнительных столбца в вывод и сохранить текущие итоги по мере того, как вы идете вместе с SUM (точками) OVER' и 'SUM (GD) OVER'. Или, если вы действительно хотите, поместите запрос в CTE, а затем запросите запрос CTE UNION на сумму, которую вы хотите получить от CTE. – Glenn
Итак, я добавил «SUM (Points) OVER() AS pSum» в конец моего оператора select, но он говорит, что «Точки» - это недопустимое имя столбца, возможно, поскольку оно создается во время операции select, есть ли способ вокруг этого? – user2096512