推荐一本好书 https://download.csdn.net/download/kxjrzyk/10940201
上面推荐的好书中,1-4 Having 子句的力量 和 1-10 Having 子句又回来了 ,这两章还是不错的。
对于这两章,也可以看看我的另一个博客 https://blog.csdn.net/dgutliangxuan/article/details/88762884
Group BY的语法部分:
- 要满足“Select·”子句中的列名必须为分组列或列函数
- 列函数对于group by 子句定义的每个组各返回一个结果
统计相关的函数
下面是实验部分:我们先创建下面的表
解答SQL面试题的步骤,其实也是工作中写统计报表的SQL的技巧:
拿到题目(分析需求),先写出各个部分的子SQL,列出关键词,然后再拼接起来
下面以查询所有同学的学号,选课数,总成绩为例子
第一步:写出各个部分的子SQL,
第二步:列出关键词
第三步:然后再拼接起来,检查语法
最终有了下图的结果
注意:上面的规则是对同一个表来说的.
Having
题目:查询平均成绩大雨60分的同学的学号和平均成绩
解题思路:
第一步:分析题目,列出关键字
第二步:列出子SQL
第三步:根据语法,拼接SQL
第一题:查询所有同学的学号,选课数,总成绩
第二题:查询平均成绩大于60分的同学的学号和平均成绩
第二步:列出子SQL
总结:
面试里面出的题大多数和 Group by 和 Having 有关 , 还有 特殊函数也是常出。