mysql查询选课人数大于等于3人的课程编号、课程名称、人数。
时间: 2024-01-30 08:03:05 浏览: 221
可以使用以下SQL语句实现:
```
SELECT course.cno, course.cname, COUNT(*) AS num
FROM sc, course
WHERE sc.cno = course.cno
GROUP BY course.cno, course.cname
HAVING COUNT(*) >= 3;
```
其中,使用了两个表格:选课表sc和课程表course。这两个表格通过课程编号cno关联起来,筛选出选课人数大于等于3人的课程,最后按照课程编号和课程名称分组,统计人数。
相关问题
MySQL查询选课人数大于等于 3 人的课程编号、课程名称、人数
假设我们有以下三张表:
学生表 (students):
| 学号 | 姓名 |
| ---- | -----|
| 1 | 张三 |
| 2 | 李四 |
| 3 | 王五 |
| 4 | 赵六 |
课程表 (courses):
| 课程编号 | 课程名称 |
| ---- | -----|
| 1001 | 数据库 |
| 1002 | 计算机网络 |
| 1003 | 操作系统 |
| 1004 | 编译原理 |
选课表 (course_selections):
| 学号 | 课程编号 |
| ---- | -----|
| 1 | 1001 |
| 1 | 1002 |
| 2 | 1001 |
| 3 | 1003 |
则查询选课人数大于等于 3 人的课程编号、课程名称、人数的SQL语句如下:
```
SELECT c.课程编号, c.课程名称, COUNT(*) AS 选课人数
FROM 选课表 s
JOIN 课程表 c ON s.课程编号 = c.课程编号
GROUP BY c.课程编号, c.课程名称
HAVING COUNT(*) >= 3;
```
该语句使用了 JOIN 语句将选课表和课程表连接起来,然后使用 GROUP BY 语句将结果按照课程编号和课程名称进行分组。然后使用 HAVING 子句过滤出选课人数大于等于 3 人的记录,最终查询结果包括课程编号、课程名称和选课人数三个字段。
使用MySQL查询选课人数大于等于3人的课程编号、课程名称、人数
可以使用以下SQL语句查询选课人数大于等于3人的课程编号、课程名称、人数:
SELECT course_id, course_name, COUNT(*) AS num_of_students
FROM course_selection
GROUP BY course_id, course_name
HAVING COUNT(*) >= 3;
阅读全文