各位大侠帮忙了,这个sql怎么写

zxq68677511 2006-03-18 03:50:56
有表:
id name score
1 '张' 88
2 '张' 90
3 '王' 80
4 '王' 78
求:每个name中score最高的id,结果应该是:2--90;3--80
问:这个sql怎么写?急!
...全文
48 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
vinsonshen 2006-03-18
select * from 表名 as a where not exists (select * from 表名 where name=a.name and score >a.score)
回复
wangdehao 2006-03-18
select * from tb a
where not exists(
select * from tb
where name=a.name and score>a. score
)

----or:

select * from tb a inner join
(select name,score=max(score)
from tb group by name) b
on a.name = b.name and a.score=b.score


回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2006-03-18 03:50
社区公告
暂无公告