Résumez group by
l'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
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
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
Utilisez pour effectuer une opération récapitulative rollup
sur group by
le 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 all
qu'après utilisation , les villes qui ne remplissent pas les conditions apparaîtront également, mais le nombre de commandes est nul
Notez que All
ne peut pas cube
et rollup
utilisé ensemble, et having
utilisé ensemble, alors All
la fonction échouera.
Script suivant:
select Ctiy,orderdate,orderid
from
SalesInfo
compute count(orderid)
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
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.