MySQL中SELECT字句的顺序以及具体使用

目录

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