考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

在" Customers "表中,有字段’ID’(客户号,主键),‘Name’(姓名),’City’(居住城市),现需要分组汇总,并找出客户数两大于200的’City’?
A. SELECT City FROM Customer HAVING COUNT(ID)>200
B. SELECT City FROM Customer WHERE COUNT(ID)>200 GROUP BY City
C. SELECT City FROM Customer GROUP BY City WHERE COUNT(ID)>200
D. SELECT City FROM Customer GROUP BY City HAVING COUNT(ID)>200
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

正确答案是 D: `SELECT City FROM Customer GROUP BY City HAVING COUNT(ID)>200`

以下是对各个选项的分析:

A: `SELECT City FROM Customer HAVING COUNT(ID)>200`
- 这个选项是错误的,因为在SQL中使用`HAVING`子句时,必须先使用`GROUP BY`子句进行分组。

B: `SELECT City FROM Customer WHERE COUNT(ID)>200 GROUP BY City`
- 这个选项是错误的,因为`WHERE`子句不能用于聚合函数`COUNT`。聚合函数需要在分组之后使用`HAVING`子句来过滤结果。

C: `SELECT City FROM Customer GROUP BY City WHERE COUNT(ID)>200`
- 这个选项是错误的,因为`WHERE`子句不能用于聚合函数`COUNT`。同样,这种过滤应该在分组之后使用`HAVING`子句。

D: `SELECT City FROM Customer GROUP BY City HAVING COUNT(ID)>200`
- 这个选项是正确的。首先,使用`GROUP BY`子句对`City`进行分组,然后使用`HAVING`子句来过滤那些客户数大于200的城市。

总结:在SQL查询中,`GROUP BY`用于将结果集按一个或多个列进行分组,`HAVING`子句用于过滤分组后的结果,通常用于聚合函数的过滤条件。