sql groupby having count
时间: 2023-05-08 10:59:01 浏览: 137
深入浅析SQL中的group by 和 having 用法
5星 · 资源好评率100%
SQL语言中的group by having count可以用于对符合条件的数据进行分组统计。具体来说,这个语句会使用group by对数据进行分组,然后使用having count对分组后的数据进行筛选。
在使用group by having count时,需要指定需要分组和统计的字段,并在having子句中使用聚合函数count来统计符合条件的数据条数。根据统计结果,可以使用having子句来筛选出符合条件的数据。
举个例子,假设有一个学生成绩表,其中包含学生姓名、课程名称和成绩等信息。要查询每个学生在某一门课程中的成绩总分超过了90分的记录,可以使用如下SQL语句:
SELECT s.name, c.course, SUM(s.score) as total_score
FROM score s, course c
WHERE c.id = s.cid and c.course = 'Math'
GROUP BY s.name, c.course
HAVING COUNT(*) > 1 AND SUM(s.score) > 90;
在这个SQL语句中,我们使用了SUM函数计算每个学生在数学这门课程中的成绩总分,并使用GROUP BY 对学生姓名和课程名称进行分组。然后使用HAVING COUNT(*) > 1来保证每个学生有至少一条成绩记录,并使用SUM(s.score) > 90来筛选出成绩总分超过90分的记录。最终,我们可以得到每个学生在数学这门课程中成绩总分超过90分的记录。
阅读全文