首页 > 试题广场 >

在STUDENT表中按class_type统计数据行数分组情

[单选题]

在STUDENT表中按class_type统计数据行数分组情况后,筛选出数据行数为大于10行的组

  • SELECT class_type,COUNT(*) FROM STUDENT GROUP BY class_type HAVING COUNT(*)>10

  • SELECT class_type,COUNT(*) FROM STUDENT GROUP BY class_type WHERE COUNT(*)=10

  • SELECT class_type,COUNT(*) FROM STUDENT HAVING COUNT(*)>10 GROUP BY class_type

  • SELECT class_type,COUNT(*) FROM STUDENT WHERE COUNT(*) >10 GROUP BY class_type

WHERE不能接聚合函数(MAX、MIN、COUNT、SUM、AVG等);HAVING后可以接聚合函数;
WHERE用在GROUP BY前,先过滤后分组;
HAVING用在GROUP BY之后,先分组后过滤,且使用HAVING一定要用到GRUOP BY,但用到GROUP BY 不一定有HAVING。
这题就是考察where和having的区别是使用吧
发表于 2022-03-25 15:37:28 回复(0)
having是对group by的分组对象进行条件筛选(类似于where),所以必须和group by联用
发表于 2021-12-21 10:24:15 回复(0)
WHERE不能接聚合函数(MAX、MIN、COUNT、SUM、AVG等);HAVING后可以接聚合函数; WHERE用在GROUP BY前,先过滤后分组; HAVING用在GROUP BY之后,先分组后过滤,且使用HAVING一定要用到GRUOP BY,但用到GROUP BY 不一定有HAVING。
发表于 2023-04-11 08:56:28 回复(0)
WHERE不能接聚合函数(MAX、MIN、COUNT、SUM、AVG等);HAVING后可以接聚合函数; WHERE用在GROUP BY前,先过滤后分组; HAVING用在GROUP BY之后,先分组后过滤,且使用HAVING一定要用到GRUOP BY,但用到GROUP BY 不一定有HAVING。
发表于 2022-04-26 22:41:12 回复(0)
先按照class_type分组,并使用COUNT(*)函数统计每组的数据行数,之后使用HAVING子句筛选出数据行数大于10行的分组。
发表于 2023-01-27 01:27:58 回复(0)
那这样的话d选项也是对的啊,先过滤后分组的方法,先where后group by
发表于 2022-06-30 09:55:42 回复(4)
分组group by 筛选having
编辑于 2022-01-12 00:26:01 回复(0)
考察两个知识点:
1. 分组: GROUP BY
2.分组后筛选: HAVING
发表于 2022-01-01 10:28:34 回复(0)