SQL 查询合计方法及相应函数使用说明
来源:互联网 发布:ubuntu怎么打开终端 编辑:程序博客网 时间:2024/06/06 22:07
declare @t table(姓名 nvarchar(10),课程 nvarchar(20),分数 int)
insert into @t select N'王三',N'语文',89
insert into @t select N'王三',N'英语',87
insert into @t select N'王三',N'数学',90
insert into @t select N'李四',N'语文',65
insert into @t select N'李四',N'英语',75
insert into @t select N'李四',N'数学',80
select
case when grouping(课程)=1 then '总分' else 姓名 end as 姓名--指定合计列
,isnull(课程'')
,sum(分数) as 分数
from @t
group by
姓名
,课程
with rollup
having grouping(姓名)=0--禁止全部学生成绩合计
结果:
王三 英语 87
王三 数学 90
王三 语文 89
总分 266
李四 英语 75
李四 数学 80
李四 语文 65
总分 220
----以上引用自CSDN论坛
grouping函数说明:
使用GROUPING 函数时,一般是在有CUBE 或ROLLUP 时使用。
使用GROUPING 函数,其参数就是一个入参,一般就是某个字段名,或者是GROUP BY 子句中使用的表达式。
GROUPING 函数返回值是0 或1.是合计列返回1,不是则返回0.
通过使用GROUPING 函数,你可以发现哪一行是本来的记录,哪一行是小计.也可以发现那些NULL值,是原本数据的NULL值,还是由于CUBE 或ROLLUP 来形成的NULL值。
实际上,GROUPING 函数,在使用CUBE 和ROLLUP 时,非小计的结果行,其函数的返回值肯定是0。在小计的结果行,会根据这个小计是否是这个GROUPING 函数所对应的字段求小计,从而返回0 或1 的结果。
---以上引自"小樽的雨后"博客.
- SQL 查询合计方法及相应函数使用说明
- Sql分组合计小计查询
- sql 查询数据小计 合计
- SQL循序渐进(10)合计函数
- SQL:给查询添加一个合计行
- informix sql函数使用说明
- 合计函数
- SQL查询分析器的使用说明
- 多表查询-行列转换-合计SQL语句
- SQL select关联表查询 统计另一个表合计
- sql查询语句, 函数 及索引
- MS SQL 数据查询及函数
- SQL语句的函数及查询
- SQL中分组函数的使用及前N条记录的查询方法
- 【学习笔记】c#连接及查询sqlserver数据库,并取出相应字段的值的方法
- sql server 死锁查询及解锁方法
- 含行、列合计的统计。按列合计排序实现的sql方法
- SQL连接分类及使用说明
- 工作加油!
- CString 操作指南
- 喜欢看韩剧
- USB1.1协议学习经验之1----设备端点
- 蟋蟀の窝
- SQL 查询合计方法及相应函数使用说明
- 第一次在CSDN写文章,开博了!
- 调试方法和技巧
- 小人物善于忍耐,从某种角度上说是一种优点
- GlassFish2.0的安装与MyEclipse的集成
- JS 滚动特效类MSClass
- 关于Request.params的知识
- 电力系统
- 腾讯QQ到底有多强大?