Fassen Sie group by
die Verwendung heute mit Beispielen zusammen .
Zusammenfassen:group by:ALL ,Cube,RollUP,Compute,Compute by
Datenskript erstellen
Create Table SalesInfo
(Ctiy nvarchar(50),
OrderDate datetime,
OrderID int
)
insert into SalesInfo
select N‘北京‘,‘2014-06-09‘,1001
union all
select N‘北京‘,‘2014-08-09‘,1002
union all
select N‘北京‘,‘2013-10-09‘,1009
union all
select N‘大连‘,‘2013-08-09‘,4001
union all
select N‘大连‘,‘2013-10-09‘,4002
union all
select N‘大连‘,‘2013-05-12‘,4003
union all
select N‘大连‘,‘2014-11-11‘,4004
union all
select N‘大连‘,‘2014-12-11‘,4005
Führen Sie zuerst das folgende Skript aus:
select Ctiy,count(OrderID) as OrderCount
from
SalesInfo
group by Ctiy
with cube
Sie können sehen, dass die zusätzliche Zeile eine Zusammenfassung aller Bestellungen ist
Nächstes Skript:
select Ctiy,Year(OrderDate) as OrderYear,count(OrderID) as OrderCount
from
SalesInfo
group by Ctiy,Year(OrderDate)
with cube
Es ist ersichtlich, dass die Dimensionen in der Gruppierung zusammengefasst sind und es auch eine Summe von Aufträgen gibt
Das nächste Skript (beachten Sie, dass es angezeigt wird rollup
):
select Ctiy,Year(OrderDate) as OrderYear,count(OrderID) as OrderCount
from
SalesInfo
group by Ctiy,Year(OrderDate)
with rollup
Verwenden Sie diese Option, um eine Zusammenfassungsoperation rollup
für group by
das erste aufgelistete Gruppierungsfeld auszuführen
Nächstes Skript:
select Ctiy,count(OrderID) as OrderCount
from
SalesInfo
where
Ctiy = N‘大连‘
group by all Ctiy
Wir werden sehen, dass group by all
nach der Verwendung auch Städte angezeigt werden, die die Bedingungen nicht erfüllen, aber die Anzahl der Bestellungen ist Null
Beachten Sie, dass All
die Funktion nicht zusammen verwendet werden kann cube
und rollup
zusammen having
verwendet wird. Dann All
schlägt die Funktion fehl.
Nächstes Skript:
select Ctiy,orderdate,orderid
from
SalesInfo
compute count(orderid)
Es werden zwei Ergebnismengen angezeigt, eine ist die Auftragsergebnismenge und die andere ist die Gesamtzahl der Auftragsergebnisse
Das letzte Skript:
select Ctiy,orderdate,orderid
from
SalesInfo
order by Ctiy
compute count(orderid) by Ctiy
Zeigen Sie nach verschiedenen Städten die Bestellinformationen dieser Stadt separat an, und eine zeigt die Menge aller Bestellungen in dieser Stadt an
Lassen Sie uns zuerst darüber sprechen.