快乐SQL复习 - 在查询中进行统计,GROUP BY关键字
SQL统计
SQL也可以在查询式子中对column进行诸如最大值,最小值,计数,平均数,求和之类的统计,如下图所示:
举个栗子,我想看看小动物在科目一考试对平均成绩,怎么做呢?
答案:
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关键字的复习啦~
喜欢的话可以收藏~也可以给兔子点个赞噢~奥利给!