Verwenden von SQL Server 2016. Ich habe die folgenden Beispieldaten:T-SQL-Abfrage - Aggregation
Date Total_Req. Changed Deleted New
9/16/2008 271 7 1 3
10/14/2008 235 1 10 11
10/15/2008 131 2 3 5
11/21/2009 190 4 5 2
11/22/2009 125 5 12 1
11/23/2009 181 6 1 4
4/13/2011 300 8 2 8
4/26/2011 281 11 7 9
4/26/2011 302 5 8 10
ich leicht pro Monat aggregieren kann, wie etwas mit:
Select cast(Format([Date], 'MM/01/yyyy') as date) as [Date],
SUM([Changed]) as [Changed], SUM([Deleted]) as [Deleted], SUM([New]) as
[New] GRPUP BY Format([Date], 'MM/01/yyyy')
So weit so gut , erhalte ich eine Summe von Monat:
Date Changed Deleted New
9/1/2008 7 1 3
10/1/2008 3 13 16
11/1/2009 15 18 7
4/1/2011 19 9 17
ich brauche aber den Wert von Summe in der Abfrage enthalten _REQ für das letzte Datum in einem Monat, so würde gewünschte Ausgabe sein:
Date Total Req. Changed Deleted New
9/1/2008 271 7 1 3
10/1/2008 131 3 13 16
11/1/2009 181 15 18 7
4/1/2011 302 19 9 17
Wie kann ich das erreichen?
Danke, M. R.
Danke Joel, es funktioniert aber für eine Tabelle mit 55.000 Datensätze ist nicht sehr effizient .... –
55.000 Datensätze ist Erdnüsse. Ich hatte auch eine Version mit CROSS APPLY, aber ich weiß nicht, ob das schneller wäre. –
Ich habe alle Indizes hinzugefügt, aber es dauert ungefähr 3 Minuten, um es auszuführen, komisch ... –