目录
1.SELECT字句及其顺序
2.使用方法举例
3.HAVING和WHERE
1.SELECT字句及其顺序
*下表来自于图灵程序设计丛书,数据库系列——《SQL必知必会》
2.使用方法举例
*题目来源于牛客网
题目描述
现在运营想要查看不同大学的用户平均发帖情况,并期望结果按照平均发帖情况进行升序排列,请你取出相应数据。
SELECT university,AVG(question_cnt) AS avg_question_cnt FROM user_profile GROUP BY university ORDER BY AVG(question_cnt);
输出结果如下图所示
具体语句说明如下
#检索大学以及平均发帖数(使用聚集函数AVG求平均值) SELECT university,AVG(question_cnt) AS avg_question_cnt #从表user_profile中查询 FROM user_profile #--可添加:如统计gpa大于等于3.3的用户平均发帖数 #WHERE gpa>=3.3 #按照大学名称分组 GROUP BY university #--可添加:如输出用户平均发帖数大于2的学校 #HAVING AVG(question_cnt)>2 #按照发帖数排序(默认为升序) ORDER BY AVG(question_cnt);
3.HAVING和WHERE
①所有适用于WHERE的句法都可用于HAVING。
②WHERE过滤行,HAVING过滤group分组。
(WHERE在分组前进行过滤,HAVING在分组后过滤)
③WHERE排除的行不包含在分组中。