设为首页 加入收藏

TOP

SQLSERVER中GROUPINGSETS,CUBE,ROLLUP(二)
2014-11-24 02:57:19 来源: 作者: 【 】 浏览:10
Tags:SQLSERVER GROUPINGSETS CUBE ROLLUP
t case when grouping(name)=1 then 'allnames' else name end as name ,case when grouping(category)=1 then 'allcategories' else category end as category ,sum(totalcount) as sum from test group by grouping sets((name,category),(name),(category),())

结果:
name category sum
LeeWhoeeUnisersity .NET 20
DePaul .NET 40
allnames .NET 60
DePaul WEB设计 30
allnames WEB设计 30
LeeWhoeeUnisersity 数据库 30
allnames 数据库 30
allnames allcategories 120
LeeWhoeeUnisersity allcategories 50
DePaul allcategories 70

CUBE 生成的结果集显示了所选列中值的所有组合的聚合。

聚合函数GROUPING: 当用当结果集中的行是由GROUPING SETS,CUBE,或ROLLUP生成的,则值为1否则为0。

如果没有用CASE WHEN判断GROUPING,则上面所有的allnames,allcategories会被NULL替代。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇NewSQL初了解 下一篇调用sql语句实现SqlServer的备份..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C语言结构体怎么直接 (2025-12-24 17:19:44)
·为什么指针作为c语言 (2025-12-24 17:19:41)
·如何较为深入的理解c (2025-12-24 17:19:38)
·Announcing October (2025-12-24 15:18:16)
·MySQL有什么推荐的学 (2025-12-24 15:18:13)