使用COUNT函数进行计数,GROUP BY指定分组。
正确答案是:D: SELECT COUNT(sno) FROM student GROUP BY sdept;
专业分析如下:
1. **需求分析**:题目要求查询每个系别的学生人数。这个需求可以通过统计各个系别的学生数量来实现。
2. **SQL语句分析**:
- **A: SELECT SUM(sno) FROM student GROUP BY sdept;**
- `SUM(sno)`会对学号进行求和,这不符合统计学生人数的需求。
- **B:SELECT SUM(sno) FROM student ORDER BY sdept;**
- 同样,`SUM(sno)`会对学号进行求和,并且`ORDER BY sdept`只是对结果排序,不会进行分组统计。
- **C:SELECT COUNT(sno) FROM student ORDER BY sdept;**
- `COUNT(sno)`可以统计学生人数,但`ORDER BY sdept`只是对结果排序,没有进行分组统计。
- **D: SELECT COUNT(sno) FROM student GROUP BY sdept;**
- `COUNT(sno)`统计每个系别的学生人数,`GROUP BY sdept`按照系别进行分组统计,符合题目需求。
3. **总结**:选项D正确地使用了`COUNT(sno)`来统计学生人数,并且正确地使用`GROUP BY sdept`来按系别分组统计,因此答案是D。