Fassen Sie die Verwendung von group by zusammen

Fassen Sie group bydie 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

Fügen Sie hier eine Bildbeschreibung ein
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

Fügen Sie hier eine Bildbeschreibung ein
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

Fügen Sie hier eine Bildbeschreibung ein
Verwenden Sie diese Option, um eine Zusammenfassungsoperation rollupfür group bydas 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 allnach der Verwendung auch Städte angezeigt werden, die die Bedingungen nicht erfüllen, aber die Anzahl der Bestellungen ist Null

Beachten Sie, dass Alldie Funktion nicht zusammen verwendet werden kann cubeund rollupzusammen havingverwendet wird. Dann Allschlägt die Funktion fehl.

Nächstes Skript:

select Ctiy,orderdate,orderid
from
SalesInfo
compute count(orderid)

Fügen Sie hier eine Bildbeschreibung ein
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

Fügen Sie hier eine Bildbeschreibung ein
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.

Ich denke du magst

Origin blog.csdn.net/WuLex/article/details/114341588
Empfohlen
Rangfolge