目录
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排除的行不包含在分组中。