Erhalten von Gesamtsummen mit Gruppieren nach

8

Ich versuche, mir im Moment mehr über SQL beizubringen und versuche derzeit, mit den Funktionen SUM , COUNT , AVG und GROUP BY in einer SQL Server 2008-Datenbank einige einfache Umsatzberichte zu erstellen. Ich habe es geschafft, die Summe, die Anzahl und den Durchschnitt jeder Gruppe nach Zeilen zu ermitteln.

Wie bekomme ich die Gesamtsumme aller Gruppen nach Zeilen?

SQL bisher:

%Vor% %Vor%

Vielen Dank

Jason

    
Jason Congerton 29.04.2012, 10:22
quelle

3 Antworten

13

Sie suchen nach dem ROLLUP -Operator, der das tun würde fügen Sie am Ende der Ergebnismenge eine Gesamtzeile hinzu. Wenn Sie nach komplexeren Aggregatsummen suchen, verwenden Sie ROLLUP oder CUBE mit der GROUP BY-Klausel, z. B. den von @MartinSmith bereitgestellten Link oder Aggregation MIT ROLLUP

%Vor%     
matthewnreid 29.04.2012, 11:00
quelle
4

Ich weiß, dass dies eine alte Frage ist, aber nur als Referenz für die Zukunft - Sie können mit GROUPING SETS auch mehr Kontrolle über den Gruppierungsprozess erlangen. Zum Beispiel:

%Vor%

Auf diese Weise werden im Ergebnis beide Zeilen nach txt_orditems_pname und ohne Gruppierung gruppiert. Sie können mehr Gruppierungssätze angeben, z. eine Abfrage für das durchschnittliche Gehalt in einer Abteilung und einem Team, mit Summen für die Abteilung und das gesamte Unternehmen zurückgegeben.

    
Apokralipsa 13.02.2015 07:06
quelle
2

Umbrechen Sie Ihre Auswahl in einer anderen Auswahl und fassen Sie die Spalten zusammen.

    
ilanco 29.04.2012 10:25
quelle

Tags und Links