今天用实例总结一下group by的用法。
归纳一下:group by:ALL ,Cube,RollUP,Compute,Compute by
创建数据脚本
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
首先执行以下脚本:
select Ctiy,count(OrderID) as OrderCount
from
SalesInfo
group by Ctiy
with cube
可以看到多出了一行 是对所有的订单数的汇总
下一个脚本:
select Ctiy,Year(OrderDate) as OrderYear,count(OrderID) as OrderCount
from
SalesInfo
group by Ctiy,Year(OrderDate)
with cube
可以看出来对分组中的维度都进行了汇总,并且还有一个订单的总和
下一个脚本(注意出现了rollup):
select Ctiy,Year(OrderDate) as OrderYear,count(OrderID) as OrderCount
from
SalesInfo
group by Ctiy,Year(OrderDate)
with rollup
使用rollup会对group by列出的第一个分组字段进行汇总运算
下一个脚本:
select Ctiy,count(OrderID) as OrderCount
from
SalesInfo
where
Ctiy = N'大连'
group by all Ctiy
我们会看到 使用group by all 后,不符合条件的城市也会出现,只是订单数是零
需要注意的是 All 不能和 cube 和 rollup一起使用,和having一起使用的话,All的功能会失效.
下一个脚本:
select Ctiy,orderdate,orderid
from
SalesInfo
compute count(orderid)
显示了两个结果集,一个是订单结果集,一个是订单总数结果集
最后一个脚本:
select Ctiy,orderdate,orderid
from
SalesInfo
order by Ctiy
compute count(orderid) by Ctiy
按照不同的城市,分别显示该城市的订单信息,一个显示该城市的所有订单数量
就先说这些了.
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]