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

备考刷题,请到

CDA认证小程序

The table "t1" has three columns: "id," "name," and "salary." If "t1" represents a forum's posting information table, where "id" is the poster's ID, "name" is the post's title, and "salary" is the score awarded for each post on the forum. The statement to display posts with more than 5 entries is:
A. select id, count(name) from t1 group by id;
B. select id, count(name) from t1 group by id having count(name)>5;
C. select id, count(name) from t1 group by id having count(name)>5 order by count(name);
D. select id, count(name) from t1 where id > 100 group by id;
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

After calculating the number of posts for each group using "count(name)," we want to output the results where the count is greater than 5 (count(name)>5). This requires using "having" to set the condition for filtering the results after grouping. The difficulty here lies in understanding the use of "having."

正确答案是:B: select id, count(name) from t1 group by id having count(name)>5;

专业分析:

1. **选项A**: `select id, count(name) from t1 group by id;`
- 这个语句会按照`id`分组,并计算每个`id`对应的`name`的数量。但是,它没有筛选出帖子数量大于5的条件。

2. **选项B**: `select id, count(name) from t1 group by id having count(name)>5;`
- 这个语句不仅按照`id`分组并计算每个`id`对应的`name`的数量,还通过`having`子句筛选出帖子数量大于5的记录。因此,这是正确的答案。

3. **选项C**: `select id, count(name) from t1 group by id having count(name)>5 order by count(name);`
- 这个语句与选项B类似,但多了一个`order by`子句,用于按帖子数量排序。虽然语法正确,但题目只要求筛选出帖子数量大于5的记录,并没有要求排序,因此不是最佳答案。

4. **选项D**: `select id, count(name) from t1 where id > 100 group by id;`
- 这个语句在分组之前增加了一个`where`条件,筛选出`id`大于100的记录。这个条件与题目要求无关,因此不是正确答案。

综上所述,选项B最符合题目要求。