CREATE TABLE #tb_student_score(
c_grade NVARCHAR(10),
c_class NVARCHAR(10),
c_student NVARCHAR(10),
c_subject NVARCHAR(10),
c_score DECIMAL(10,1)
)
GO

INSERT INTO #tb_student_score(c_grade,c_class,c_student,c_subject,c_score)
VALUES ('一年级','一班','学生甲一','语文',95)
GO 
INSERT INTO #tb_student_score(c_grade,c_class,c_student,c_subject,c_score)
VALUES ('一年级','一班','学生甲一','数学',90)
GO 
INSERT INTO #tb_student_score(c_grade,c_class,c_student,c_subject,c_score)
VALUES ('一年级','一班','学生乙一','语文',85)
GO 
INSERT INTO #tb_student_score(c_grade,c_class,c_student,c_subject,c_score)
VALUES ('一年级','一班','学生乙一','数学',80)
GO 
INSERT INTO #tb_student_score(c_grade,c_class,c_student,c_subject,c_score)
VALUES ('一年级','二班','学生甲二','语文',96)
GO 
INSERT INTO #tb_student_score(c_grade,c_class,c_student,c_subject,c_score)
VALUES ('一年级','二班','学生甲二','数学',88)
GO 
INSERT INTO #tb_student_score(c_grade,c_class,c_student,c_subject,c_score)
VALUES ('一年级','二班','学生乙二','语文',93)
GO 
INSERT INTO #tb_student_score(c_grade,c_class,c_student,c_subject,c_score)
VALUES ('一年级','二班','学生乙二','数学',79)
GO 
INSERT INTO #tb_student_score(c_grade,c_class,c_student,c_subject,c_score)
VALUES ('二年级','一班','学生丙一','语文',79)
GO 
INSERT INTO #tb_student_score(c_grade,c_class,c_student,c_subject,c_score)
VALUES ('二年级','一班','学生丙一','数学',98)
GO 
INSERT INTO #tb_student_score(c_grade,c_class,c_student,c_subject,c_score)
VALUES ('二年级','一班','学生丁一','语文',86)
GO 
INSERT INTO #tb_student_score(c_grade,c_class,c_student,c_subject,c_score)
VALUES ('二年级','一班','学生丁一','数学',78)
GO 
INSERT INTO #tb_student_score(c_grade,c_class,c_student,c_subject,c_score)
VALUES ('二年级','二班','学生丙二','语文',92)
GO 
INSERT INTO #tb_student_score(c_grade,c_class,c_student,c_subject,c_score)
VALUES ('二年级','二班','学生丙二','数学',88)
GO 
INSERT INTO #tb_student_score(c_grade,c_class,c_student,c_subject,c_score)
VALUES ('二年级','二班','学生丁二','语文',91)
GO 
INSERT INTO #tb_student_score(c_grade,c_class,c_student,c_subject,c_score)
VALUES ('二年级','二班','学生丁二','数学',97)

GO

--基础数据
SELECT * FROM #tb_student_score

--按年级+班级+科目汇总,按年级小计
SELECT 
c_grade,c_class,c_subject,SUM(c_score)
FROM #tb_student_score
GROUP BY GROUPING SETS ((c_grade,c_class,c_subject),ROLLUP(c_grade))

--按年级+班级+科目汇总,按年级小计, 小计行显示"小计"
SELECT 
CASE WHEN c_grade IS NULL THEN '总计' ELSE c_grade END c_grade,
CASE WHEN c_class IS NULL AND c_grade IS NOT NULL THEN '小计'
WHEN c_class IS NOT NULL THEN c_class END c_class,
c_subject,SUM(c_score)
FROM #tb_student_score
GROUP BY GROUPING SETS ((c_grade,c_class,c_subject),ROLLUP(c_grade))

--按年级+班级+科目汇总,按年级+班级小计
SELECT 
c_grade,c_class,c_subject,SUM(c_score)
FROM #tb_student_score

GROUP BY GROUPING SETS ((c_grade,c_class,c_subject),ROLLUP(c_grade,c_class))

sql查询语句中分组添加小计,GROUPING的使用相关推荐

  1. sql查询语句中查询指定行号的方法

    我们在查询一张数据表时,如果主键ID以1为种子自增长.那么我们在查询制定条数的时候非常方便,只要以ID为条件查询需要的数据即可.或者配合TOP语法也可. 但如果遇到主键不以1为自增长,且主键的数据没有 ...

  2. ElementUI中el-table添加小计行之后调整在滚动条上方

    场景 找到要添加汇总行小计行的el-table <el-table v-loading="loading" :data="kqtjList" show-s ...

  3. 代码日常--如何在SQL查询语句中添加判断逻辑

    前景提要:查询某个商品是否参加推广,表product_channel,字段distribute_status. Y表示参与,N表示不参与,但由于该字段是新添加,默认为null,所以null也属于不参与 ...

  4. SQL查询语句中的 limit offset(转 )

    经常用到在数据库中查询中间几条数据的需求 比如下面的sql语句: ① selete * from testtable limit 2,1; ② selete * from testtable limi ...

  5. 关于SQL查询语句中的LIKE模糊查询的解释

    在SQL语言中,LIKE语句有时候有着强大的作用. LIKE语句的语法格式为: select * from 表名 where 字段名 like 对应值(字符串); 注:主要是针对字符型字段的,它的作用 ...

  6. sql查询语句中的乱码 -- 前面加N

    直接运行sql出出现乱码,在中文字符前加N就能够正常显示了.N的含义就是用nvarchar格式显示. 转载于:https://www.cnblogs.com/gcczhongduan/p/520504 ...

  7. 「MySQL」- 复杂的SQL查询语句

    任意门 前言 聚合查询 1.聚合函数 count函数 sum函数 avg函数 max函数 min函数 2.分组查询 having子句 多表查询 1.笛卡尔积 2.内连接 3.外连接 左外连接 右外连接 ...

  8. 没错,纯SQL查询语句可以实现神经网络

    我们熟知的SQL是一种数据库查询语句,它方便了开发者在大型数据中执行高效的操作.但本文从另一角度嵌套SQL查询语句而构建了一个简单的三层全连接网络,虽然由于语句的嵌套过深而不能高效计算,但仍然是一个非 ...

  9. 从Mysql某一表中随机读取n条数据的SQL查询语句

    若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1)).例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机 ...

最新文章

  1. MYSQL 命令【精华帖】
  2. jmeter分布式压测原理简介1
  3. 计算机学科的三大科学形态,华中科技大学 计算机科学与技术方法论 3计算学科中的三个学科形态.ppt...
  4. html调用js页面显示不出来了,JS代码文件调用显示乱码,直接写在html页面的里可以调用,但是单独放在js文件里不能调用...
  5. DateTime字段控件值显示短格式的做法
  6. dump的文件 查看pg_详解linux查看磁盘读写信息--blockdump、blktrace、systemtap
  7. 结构梁配筋最牛插件_吃货的牛排种类大盘点,你最爱的是几分熟?
  8. 正确设置路由器时间和时区
  9. MFC+Opencv以图拼图
  10. 微信公众号已认证怎么改名字,公众号昵称可以改吗?
  11. 按键控制c51单片机驱动unl2003控制步进电机正反转停止及程序调速-萌新入门
  12. html表格单元格换行属性,CSS对表格单元格强制换行和不换行
  13. 基于ZigBee和STM32的智能家居控制系统的设计与实现
  14. 传说中的王八蛋~~~
  15. linux snat mac 桥,关于SNAT在bridge中不生效的问题
  16. 关于浏览器的几个问题
  17. 简单使用tabby? (前端)
  18. 常州大学计算机学院陆明阳,计算机学院 朱家群
  19. 添加163镜像为linux yum源,163镜像yum源配置----centos7
  20. swf格式的视频怎么转换成mp4

热门文章

  1. java自习_java 自习室 day 24
  2. wetool个人版_淘客干货:用了3年的wetool也没能幸免
  3. 学了 Python 能用来做什么?
  4. JVM 垃圾回收简介
  5. 线上知识付费潮流中的青年人:寻找消费与求知的平衡点
  6. 2022 ICPC Gran Premio de Mexico 2da Fecha Final standings - K. Krystalova‘s Trivial Problem
  7. 想要创业,却没货源?答应我,别只在阿里妈妈上找了好吗
  8. table 手机 滑动_【推荐下载】html5手机端手指滑动选项卡滚动切换效果(转)
  9. python ogr创建shp
  10. android oreo 老机型,三年的老机型,一加手机1也有安卓8.0了!