SQL汇总统计与GROUP BY过滤查询实现
作者:黑码哥 发布时间:2024-01-22 20:21:43
1、汇总统计
介绍几个聚集函数
有多少名学生
SELECT COUNT(*) FROM student;
SELECT COUNT(1) FROM student;
SELECT COUNT(score) FROM student;
所有学生的成绩总和
SELECT SUM(score) FROM student;
所有学生成绩的最高分
SELECT MAX(score) FROM student;
所有学生成绩最低分
SELECT MIN(score) FROM student;
所有学生成绩平均分
SELECT AVG(score) FROM student;
2、GROUT BY
如何获取每个班级的数学成绩平均分(因为学生太多,这里先不计算
成绩在80分以下的学生),以便比较不同班级的成绩?
SELECT class_id, AVG(score)
FROM student
WHERE score > 80
GROUP BY class_id
汇总原理如下:
如何统计不同的交易所的总的买入金额?
SELECT LEFT(stock_code,2), SUM(price * volume)
FROM t_stock_trans_dtl
WHERE opt_typ = '买入'
GROUP BY LEFT(stock_code,2)
如何统计不同的交易所的不同交易类型的总的交易金额?
SELECT LEFT(stock_code,2), opt_typ, SUM(price * volume)
FROM t_stock_trans_dtl
GROUP BY LEFT(stock_code,2), opt_typ
SELECT里除了使用聚集函数返回的字段外,其他所有的字段都必须原样出现在GROUP BY的 后面;
GROUP BY会将NULL值的行,分到同一组计算统计值:
SELECT teacher_id, COUNT(*)
FROM student
GROUP BY teacher_id
3、如何对分组统计的结果进行过滤
GROUP BY + HAVING
如何获取教授15名以上学名的老师?
使用关键字:GROUP BY + HAVING
SELECT teacher_id, COUNT(*)
FROM student
GROUP BY teacher_id
HAVING COUNT(*) > 15
如何获取数学成绩平均分在70分及以上的班级?
SELECT class_id, AVG(score)
FROM student
GROUP BY class_id
HAVING AVG(score) > 70;
如何获取每个班级的成绩平均分(不计算成绩在80分以下的学
生且过滤掉平均分在90分以下的班级),以便比较不同班级的成绩?
SELECT class_id, AVG(score)
FROM student
WHERE score > 80
GROUP BY class_id
HAVING AVG(score) > 90;
4、如何对分组统计的结果进行排序
GROUP BY + ORDER BY
如何获取每个班级的数学成绩平均分(不计算成绩在80分以下的学
生),然后以平均分从高到低排序?
SELECT class_id, AVG(score)
FROM student
WHERE score > 80
GROUP BY class_id
ORDER BY AVG(score) DESC
5、介绍SELECT语句中各个子句的书写顺序
如何获取每个班级的数学成绩平均分(不计算成绩在80分以下的学
生且过滤掉平均分在90分以下的班级),然后以平均分从高到低排序?
SELECT class_id, AVG(score)
FROM student
WHERE score > 80
GROUP BY class_id
HAVING AVG(score) > 90
ORDER BY AVG(score) DESC
6、上方用到的表
学生表
交易表
来源:https://liyunxiang.blog.csdn.net/article/details/128150913


猜你喜欢
- 这篇文章主要介绍了Python Lambda函数使用总结详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 当一个页面上有一百个表单项,你是怎么获取上面的值勤的?这是一段简单的代码,你试试这段代码,试过后,欢迎留言说一下你的想法?index.asp
- 这是官方截图,mysql5.7安装后,会有一个默认密码,保存在mysql.log里面,找的他,并更改官方文档地址https://dev.my
- 本文实例讲述了Python实现读取及写入csv文件的方法。分享给大家供大家参考,具体如下:新建csvData.csv文件,数据如下:具体代码
- 前言这篇文章主要介绍了JS大坑之19位数的Number型精度丢失问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- 本教程为大家分享了Python搭建HTTP服务器和FTP服务器的具体步骤,供大家参考,具体内容如下默认安装版本为pytho2.7http服务
- python循环结构Python中循环结构有两种类型,分别是:for(遍历循环)于while(无限循环),接下来对两种循环类型的使用与注意事
- 任何数据库系统都无法避免崩溃的状况,即使你使用了Clustered,双机热备等等,仍然无法完全根除系统中的单点故障,何况对于大部分用户来说,
- 我就废话不多说了,直接上代码吧!【code】import numpy as npthreshold=2a=np.array([[1,2,3]
- pytorch更新完后合并了Variable与Tensortorch.Tensor()能像Variable一样进行反向传播的更新,返回值为T
- 在通过scrapy框架进行某些网站数据爬取的时候,往往会碰到页面动态数据加载的情况发生,如果直接使用scrapy对其url发请求,是绝对获取
- 你一定很喜欢像QQ或者MSN好友登录提示的效果吧,那么怎么样能在网页中实现呢?asp之家为大家找到了这
- 一、项目展示这是一款简单实用的小时钟工具分为工作和休息两种状态用户可以设置相应的时间所有的时钟记录都会被保存下来二、首页首页由计时器、任务输
- 本文实例为大家分享了python实现贪吃蛇的具体代码,供大家参考,具体内容如下import pygameimport sysimport r
- 上一次写的《Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面》(点击打开链接)部分老一辈的需求可能对这种后现代的风格并不满意,没
- LCase:转成小写 UCase:转成大写 下面是ASP中的代码,可以直接演示效果的。 代码如下:<% dim s
- 目录1. 常用的编码2.补充:计算机表示的单位:3.ASCII编码2.GBK和GB2312编码4.Unicode5.UTF-8编码6.编码和
- python一直被病垢运行速度太慢,但是实际上python的执行效率并不慢,慢的是python用的解释器Cpython运行效率太差。“一行代
- 如下所示:#待处理列表A= [1,2,3,4,5]#移动次数a = 3右移比较简单for i in range(a): A.insert(0
- selenium主要是用来做自动化测试,支持多种浏览器,爬虫中主要用来解决JavaScript渲染问题。模拟浏览器进行网页加载,当reque