Résumez l'utilisation du groupe par

Résumez group byl'utilisation avec des exemples aujourd'hui .

Résumer:group by:ALL ,Cube,RollUP,Compute,Compute by

Créer un script de données

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

Exécutez d'abord le script suivant:

select Ctiy,count(OrderID) as OrderCount
from
SalesInfo
group by Ctiy
with cube

Insérez la description de l'image ici
Vous pouvez voir que la ligne supplémentaire est un récapitulatif de toutes les commandes

Script suivant:

select Ctiy,Year(OrderDate) as OrderYear,count(OrderID) as OrderCount
from
SalesInfo
group by Ctiy,Year(OrderDate)
with cube

Insérez la description de l'image ici
On peut voir que les dimensions du groupement sont résumées, et il y a aussi une somme de commandes

Le script suivant (notez qu'il apparaît rollup):

select Ctiy,Year(OrderDate) as OrderYear,count(OrderID) as OrderCount
from
SalesInfo
group by Ctiy,Year(OrderDate)
with rollup

Insérez la description de l'image ici
Utilisez pour effectuer une opération récapitulative rollupsur group byle premier champ de regroupement répertorié

Script suivant:

select Ctiy,count(OrderID) as OrderCount
from
SalesInfo
where
Ctiy = N‘大连‘
group by all Ctiy

Nous verrons group by allqu'après utilisation , les villes qui ne remplissent pas les conditions apparaîtront également, mais le nombre de commandes est nul

Notez que Allne peut pas cubeet rolluputilisé ensemble, et havingutilisé ensemble, alors Allla fonction échouera.

Script suivant:

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

Insérez la description de l'image ici
Deux ensembles de résultats sont affichés, l'un est l'ensemble de résultats de la commande et l'autre est le nombre total de l'ensemble de résultats des commandes.

Le dernier script:

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

Insérez la description de l'image ici
Selon différentes villes, affichez les informations de commande de cette ville séparément, et on montre la quantité de toutes les commandes dans cette ville

Parlons-en d'abord.

Je suppose que tu aimes

Origine blog.csdn.net/WuLex/article/details/114341588
conseillé
Classement