![2512ea298a98d63525e3fe357f6a32a5.png](https://img-blog.csdnimg.cn/img_convert/2512ea298a98d63525e3fe357f6a32a5.png)
大纲:
一、汇总分析
二、对数据分组
三、对分组结果指定条件
四、如何用 SQL 解决业务问题?
五、如何对查询结果排序?
六、如何看懂 SQL 报错信息?
一、汇总分析
1.什么是函数?
通过SQL对数据进行某种操作或计算时需要使用函数。
函数有3个功能:
①功能(函数功能,比如count函数的功能为,计算表中全部数据的行数)
②输入(参数,输入值,用于计算行数的数值参数)
③输出(返回值,输出值,参数计算的行数结果)
2.常用的汇总函数有哪些?
![6b74c7b84cf042d85eb47e89e8adeee5.png](https://img-blog.csdnimg.cn/img_convert/6b74c7b84cf042d85eb47e89e8adeee5.png)
用于汇总的函数,称为聚合函数。所谓聚合,就是将多行汇总为一行。
select <列名>,函数<列名>,……
from <表名>
where <查询条件>;
3.练习:汇总分析
![eed2eddb3db5e97890b00c2c65753892.png](https://img-blog.csdnimg.cn/img_convert/eed2eddb3db5e97890b00c2c65753892.png)
(1)面试题:查询课程编号为“0002”的总成绩
select 课程号,sum(成绩)
from score
where 课程号='0002';
![7b3304eec1745fcc72c400003365fd23.png](https://img-blog.csdnimg.cn/img_convert/7b3304eec1745fcc72c400003365fd23.png)
(2)面试题:查询选了课程的学生人数
select count(distinct 学号) as 选了课程的学生人数
from score;
![89cc1d3f2821a184eb854f71f89051d6.png](https://img-blog.csdnimg.cn/img_convert/89cc1d3f2821a184eb854f71f89051d6.png)
二、对数据分组
1.分组背后的分析方法是什么?
sql分组:group by
select <列名>,函数<列名>,……
from <表名>
where <查询条件>
group by <分组>;
(1)分组背后的分析方法:
①数据分组
②应用函数
③组合结果
![330fc0f4e717d4a9a1216ad5487fcae7.png](https://img-blog.csdnimg.cn/img_convert/330fc0f4e717d4a9a1216ad5487fcae7.png)
(2)SQL运行顺序: