一、汇总分析
汇总函数:
- count:求某列的行数






- sum:对某列数据求和


- avg:求某列数据的平均值


- max:求某列数据的最大值
- min:求某列数据的最小值


- 练习:




二、分组


练习:




三、对分组结果指定条件






四、利用sql解决业务问题
Q、如何计算各科的平均成绩
分析思路:
问题翻译成易理解的:如何计算每门课程的平均成绩
对应sql各个语句:
- select 查询结果(每门课的课程号:分组;平均成绩:avg(成绩))
- from 从哪张表中查找数据(score表)
- where 查询条件 (无)
- group by 分组(每门课:按课程号分组)
- having 对分组结果指定条件(无)


Q、如何计算各科的平均成绩并且平均成绩大于等于80分
分析思路:
- select 查询结果(每门课的课程号:分组;平均成绩:avg(成绩))
- from 从哪张表中查找数据(score表)
- where 查询条件 (无)
- group by 分组(每门课:按课程号分组)
- having 对分组结果指定条件(平均成绩>=80)


五、对查询结果排序
order by:对查询结果排序 desc:降序 asc:升序
- 在select 字句后最后运行


- 指定多个排序列名:按顺序排列


- 空值(null)的排序:空值会在查询结果的开头显示,方便查找空值时操作


- 从查询结果中取出指定行:limit

- 练习:




六、如何看懂报错信息
- 在group by中使用了select里的别名
- 在where中使用聚合函数:例如直接使用求和、计数等函数
- 字符串类型的数字:存放数据时将数据类型设置为字符串,而数值类型的排序和字符串类型的排序是不一致的
七、sql运行顺序
