sql 组合集总计。 Group by with rollup cube 等

最近又看了下 sql完全手册,以前看过 但是老是记不住这些 sql语法和用法。现在把他写下来,希望以后用到时候不会忘记。

如果一点都记不起来 当然一些sql 技巧都无法展示。

首先说些基础的 group by 语句 它是进行分组 并且可以 分组求和。如果我们在一条语句中见到每位运动员的罚款总数和所有运动员的罚款总数。可能需要两次组合。然后用union 来连接。

例如 select playerno, sum(amount0) from penalties group by playerno

union select cast(null as signed integer), sum(amount0) from penalties

这样的话就比较繁琐,如果引入with rollup的话 就可以简化这样的语句。

with rollup 可以用在一个group by 从句中实现多个组合。 上面那条语句现在变为

select playerno,sum(amount) from penalties  group by playerno wth rollup

两个结果相同  结果表明  在已使用playerno组合后,另一次组合是需要的 --在这种情况下是对所有行。

说明:

group by 指定了表达式 E1,E2,E3,E4,那么执行的组合为[E1,e2,e3,e4],当我们使用 with rollup 规范的话 将组合成[e1,e2,e3,e4],[e1,e2,e3],[e1,e2],[e1]和[],

规范[]表示所有的行均组合到一个组中。

使用 with cube

如果上面那条语句添加with cube 语句 会出现这样的依[e1,e2,e3]为例,组合为[e1,e2,e3],[e1,e2],[e2,e3],[e1,e3],[e1],[e2],[e3]和[].

组合集

select  town ,min(birth_date) from players group be town

可以拓展成这样

select town,min(birth_date) from playerno group by grouping sets((town))

 

select town ,count(*) from players group by town union

select sex,cast(null as char ),count(*) from players group by sex order by 2,1

这样的两个分组求和 可以简化为

select town,count(*) from playerno group by grouping sets((town),(sex))

如果一个组合里面有一个表达式组成的话,可以省略括号。

group by grouping sets((e1,e2,e3))   [E1,E2,E3]

 使用 rollup 和cube 组合来简化 grouping sets

group by rollup(e1,e2)等于规范 group by grouping sets((e1,e2),e2,())

规范 rollup((sex,town),year(birth_date))将导致组合[sex,town,year(birth_date)],[sex,town] 和[]

规范 group by cube[e1,e2,e3]等于规范group by grouping sets((e1,e2,e3),(e1,e2),(e2,e3),(e3,e1),e1,e2,e3,())

暂时记录这么多

 

 

转载于:https://www.cnblogs.com/liangchen/archive/2010/10/23/1858984.html

Visual Studio 2008 组合帮助合管理器 本主题的总结中列出了您的计算机上安装的帮助合的名称。如果安装了多个合,可以更改默认 Visual Studio 2008 组合 帮助合 (VSCC) 中包含哪些合。选中要在默认 VSCC 合中包含的帮助合的对应复选框,并清除要排除的合旁的复选 框。 警告 排除默认 VSCC 合中的帮助合时一定要谨慎。这可能会阻止您访问所需的文档。请考虑使用筛选器来中搜索与 您的需要相关的帮助主题。 若要减少找到的重复主题数,可以选择包括正在使用的 Visual Studio 2008 版本的帮助合,并排除其他版本或其他语言的 多余帮助合。如果修改默认 VSCC 合,将会更改帮助索引和搜索列表,还有可能更改帮助目录。 当完成标记和清除帮助合的对应复选框时,请选择“更新 VSCC”按钮。系统将要求您关闭 Visual Studio 2008 和 Microsoft Document Explorer 的所有实例。重新启动这些程序之一时,VSCC 帮助合将修改为包含下面选中的帮助合, 并排除其复选框已被清除的合。 注意 重新打开 Visual Studio 2008 可能要花费几分钟时间,因为此时它将修改 VSCC 帮助合。 -------------------------------------------------------------------------------- 可在 VSCC 中包含的合: Microsoft VSIP Combined Help Collection Microsoft SQL Server 2005 Mobile Edition
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值