有一张表t_stu;其中三个字段:name,gender,grade;要求用一条sql语句查出男生前5名和女生前五名。
create table t_stu
(
id int(11),
name varchar(20),
gender int(2),
grade int(12)
)
insert into t_stu values
(1,'Alex',1,91),
(2,'Elena',0,92),
(3,'Alex2',1,81),
(4,'Elena2',0,82),
(5,'Alex3',1,71),
(6,'Elena3',0,72),
(7,'Alex4',1,61),
(8,'Elena4',0,62),
(9,'Alex5',1,51),
(10,'Elena5',0,52),
(11,'Alex6',1,101),
(12,'Elena6',0,1022);
(
SELECT *
FROM t_stu
where gender=0
order by grade desc
limit 5
)
union
(
select *
from t_stu
where gender=1
order by grade desc
limit 5
)

本文介绍了一种使用SQL查询语句来分别获取男生和女生的前五名成绩的方法。通过将两个子查询(分别针对不同性别)联合起来并限制每个子集返回的成绩数量,可以有效地实现这一目标。
746

被折叠的 条评论
为什么被折叠?



