1 shreya cpn 10000
2 shreya cpna 100000
3 shreya cpnaa 20000
4 preeti buld 30000
5 preeti bulda 20000
6 preeti buldan 25000
1 sushil mal 30000
1 sushil male 10000
1 sushil maleg 15000
9 abc ada 15000
这是我的表......
这是我的查询select * from stu where sal in (select MAX(sal)from stu group by name)
和ans是 -
2 shreya cpna 100000
4 preeti buld 30000
1 sushil mal 30000
1 sushil maleg 15000
9 abc ada 15000
10 sss sfsfs 12000
它显示2 sushil ...我想只有不同的名字...... plzz给我建议......
答案 0 :(得分:0)
如果您在输出中只需要name
和salary
列,则只需尝试以下代码:
select name, MAX(sal) from stu group by name
您可以在要分组的选择中使用列,也可以使用具有聚合函数的其他列。
如果您需要所有其他列,则必须使用join
。
select s1.*
from stu s1
join (select name, MAX(sal) as sal from stu group by name) as s2
on s1.name = s2.name and s1.sal = s2.sal