您的位置首页百科问答

总结下sqlserver gro来自up by 的用法

今天用实例总结一下groupby的用法。

归纳一下:groupby:ALL,Cube,RollUP,Compute,Computeby

创建扩船内帮金府花占数据脚本

CreateTableSalesInfo

(Ctiynvarchar(50),

OrderDatedatetime,

OrderIDint

)

insertintoSalesInfo

selectN'北京','2014-06-09',1001

unionall

selectN'北京','2014-08-09',10所02

unionall

selectN'北京','2013-10-09',1009

unionall

selectN'大连','2013-08-09',4001

unionall

selectN'大连','2013-10-09',4002

unionall

selectN'大连','2013-05-12',4003

unionall

selectN'大连','2014-11-11',4004

unionall

selectN'大连','2014-12-11',4005

首先执行以下脚本:

selectCtiy,count(OrderID)asOrderCount

from

SalesInfo

groupbyCtiy

withcube

总结下sqlserver gro来自up by 的用法

可以看到多出了一行是对所有的订单数的汇总

下一个脚本:

selectCtiy,Year(OrderDate)asOrderYear,count(OrderID)asOrderCount

from

SalesInfo

groupbyCtiy,Year(OrderDate)

withcube

总结下sqlserver gro来自up by 的用法

可以看出来对分组中的维度都进行了汇总,并且还有一个订单的总和

下一个脚本(注意出现了rollup):

selectCtiy,Year(OrderDate)asOrd之方化erYear,count(OrderID)asOrderCount

from

SalesInfo

groupbyCtiy,Year(OrderDate)

withrollup

总结下sqlserver gro来自up by 的用法

使用rollup会对groupby列出的第日件益川航随音威四府一个分组字段进行汇总运算

下一个脚本:

selectCtiy,count(OrderID)asOrderCount

from

转赵SalesInfo

where

Ctiy=N'大连'

groupbyallCtiy

我们会看到使用groupbyall后,不符合条件的城市也会出现,只审初子血目马升是订单数是零

需要注意的是All不能和cube和rollup一起使用,和having一起使用的话,All的功能会失效.

下一个脚茶输包话苗试线要安本:

selectCtiy,orderdate,orderid

f接自几rom

SalesInfo

computecount(orde呀需以rid)

总结下sqlserver gro来自up by 的用法

显示了两个结于看果集,一个是订单结果集,一个是订单总数结果集

最后一个脚本:

sel曲香急象呀ectCtiy,orderdate,orderid

from

SalesInfo

orderbyCtiy

computecount(orderid)byCtiy

总结下sqlserver gro来自up by 的用法

按照不同的城市,分别显示该城市的订单信息,一个显示该城市的所有订兰时候烈防斤刚构她单数量

就先说这些了.