用MySQL练习GROUP BY、ORDER BY和LIMIT子句的使用: 1)查找student中男生和女生的人数; 2)查找选修了2号课程的学生的学号及其成绩,查询结果按成绩降序排序; 3)返回student表中的前3位同学的信息。
时间: 2024-10-15 15:27:21 浏览: 32
Mysql排序和分页(order by&limit)及存在的坑
在MySQL中,GROUP BY、ORDER BY和LIMIT子句用于处理分组数据、排序和限制结果集。
1) 要查找学生中男生和女生的人数,可以使用以下SQL查询:
```sql
SELECT gender, COUNT(*) AS count
FROM student
GROUP BY gender;
```
这将按性别对数据进行分组,并计算每个性别的记录数量。
2) 查找选修了2号课程的学生的学号和成绩,按照成绩降序排列,可以这样做:
```sql
SELECT student_id, score
FROM student
JOIN course_taken ON student.student_id = course_taken.student_id
WHERE course_number = 2
ORDER BY score DESC;
```
这里假设有一个course_taken表关联学生和课程信息。
3) 返回student表中的前3位同学的信息,可以用LIMIT子句配合ORDER BY:
```sql
SELECT *
FROM student
ORDER BY student_id ASC
LIMIT 3;
```
这将返回学生表中的前三个最早的学号(默认升序),如果需要特定字段如姓名,则需加入对应字段到ORDER BY中。
阅读全文