快乐SQL复习 - 在查询中进行统计,GROUP BY关键字

SQL统计

SQL也可以在查询式子中对column进行诸如最大值,最小值,计数,平均数,求和之类的统计,如下图所示:

快乐SQL复习 - 在查询中进行统计,GROUP BY关键字

举个栗子,我想看看小动物在科目一考试对平均成绩,怎么做呢?

快乐SQL复习 - 在查询中进行统计,GROUP BY关键字

答案:

SELECT name,AVG(score)

FROM basic_information

INNER JOIN score

ON  basic_information.id = score.student_id 


GROUP BY关键字

GROUP BY 数据分组语法可以按某个col_name对数据进行分组,如:GROUP BY Year指对数据按年份分组, 相同年份的分到一个组里。如果把统计函数和GROUP BY结合,那统计结果就是对分组内的数据统计了.

我们来看一个栗子理解一下。

如果按照上面那个表格,我们现在想找出男生和女生分别的平均分,怎么做呢?

答案:

SELECT gender,AVG(score)

FROM basic_information

INNER JOIN score

ON  basic_information.id = score.student_id 

GROUP BY gender


HAVING 语法

having用在group by后面,他的意思跟where很像,也是筛选的。可以筛选group by之后的数据。举个栗子,在我们上面的这道题中,如果我只想看男生的平均分,我就可以这么写:

SELECT gender,AVG(score)

FROM basic_information

INNER JOIN score

ON  basic_information.id = score.student_id 

GROUP BY gender

HAVING gender = “M”

当然,如果你不用`GROUP BY`语法, 简单的`WHERE`就够用了.

以上就是关于在查询中进行统计和GROUP BY关键字的复习啦~

喜欢的话可以收藏~也可以给兔子点个赞噢~奥利给!