SQL语句问题,我是新手,不太会用高级的语句。想了半天写不来,请高手帮忙 如下是我的表

2024-11-30 05:08:12
推荐回答(2个)
回答1:

select a.groupno,b.name,a.leve,b.grade from
(select groupno,max(leve)as leve from 你的表名 group by groupno) a
inner join
(select groupno,name,leve,grade from 你的表名) b
on
a.groupno = b.groupno and a.leve =b.leve
order by a.groupno asc

楼主我这条语句是查询每一个分组中leve 最高的人,如果你要按条件Grade=3时,可以加在inner join 子查询的b 表查询语句后面跟上 where grade =3 如下。
(select groupno,name,leve,grade from 你的表名 where grade =3 ) b
希望对你有用。

回答2:

select a.groupno,a.name, a.level, a.grade
from 表名 a, (select groupno,max(level) as level from 表名 where grade =3 group by groupno) b
where a.groupno = b.groupno and a.level = b.level
order by a.groupno