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

备考刷题,请到

CDA认证小程序

(复合题)表 t1 中有 id、name、salary 3 列,如果表 t1 是一个论坛的发帖信息表,id 是发帖人的编号,name 是帖子的标题,salary 是每次发帖论坛奖励的分数。 (3)显示每个会员发了几个帖子的语句是()。
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)

id 是发帖人的编号,是唯一的,我们想知道每个会员的发帖数,group by id---- 按照 id 分组,就是必然选择。 count(name) 是对按照 id 分组之后的结果计算 name 的个数。

正确答案是:A: `select id ,count(name) from t1 group by id;`

### 专业分析:

1. **选项 A**: `select id,count(name) from t1 group by id;`
- 这条语句的作用是根据 `id` 对表 `t1` 进行分组,并统计每个 `id` 对应的 `name` 的数量。也就是说,它会显示每个会员发了多少个帖子,这是题目要求的内容。

2. **选项 B**: `select id,count(name) from t1 group by id having count(name) > 5;`
- 这条语句在选项 A 的基础上增加了 `having` 子句,用于过滤出帖子数量大于 5 的会员。这并不完全符合题目要求,因为题目并没有要求对发帖数量进行过滤。

3. **选项 C**: `select id,count(name) from t1 group by id having count(name) > 5 order by count(name);`
- 这条语句在选项 B 的基础上增加了 `order by` 子句,用于按发帖数量排序。同样,这并不完全符合题目要求,因为题目并没有要求对发帖数量进行过滤和排序。

4. **选项 D**: `select id,count(name) from t1 where id > 100 group by id;`
- 这条语句在选项 A 的基础上增加了 `where` 子句,用于过滤出 `id` 大于 100 的会员。这也不完全符合题目要求,因为题目并没有要求对 `id` 进行过滤。

综上所述,选项 A 是最符合题目要求的语句。