求三人最好成绩,并列出ID ( 积分: 50 )

  • 主题发起人 主题发起人 wood993903
  • 开始时间 开始时间
W

wood993903

Unregistered / Unconfirmed
GUEST, unregistred user!
ID Name Score 求三人最好成绩,并列出ID
1 a 88 ID Name Score
2 b 76 1 a 88
3 c 66 5 b 77
4 c 90 7 b 77
5 b 77 4 c 90
6 a 56
7 b 77
8 c 67
 
取最大值,group BY name
 
取最大值,group BY name 得出的结果是name score
a 88
b 77
c 90
 
select * from 表名 where Score in (select top 3 Score from 表名 order by Score desc)
大概这样可以吧
 
你试一下吧,应该可以的
 
楼上的方法可以
 
select 表名.id,表名.name,表名.score from 表名,(select name,max(score) as score
from 表名
group by name) b
where 表名.name=b.name and 表名.score = b.score
 
接受答案了.
 
在access下了一个 感觉太麻烦了些 看看有没有更好的

SELECT c.*,d.* from 表1 c LEFT OUTER JOIN
(SELECT a.ID,a.Name, max(a.Score) from 表1 a, 表1 b where a.Name=b.Name and a.Score<b.Score
GROUP BY a.ID,a.Name) d ON c.ID=d.ID and c.Name=d.Name where d.id is null
 
555a的那个方法 一旦有e学生恐怕不行了吧
 
如果把c的最高成绩调在70一下呢??
 
select id,table1.name,table1.score from table1,(select name,max(score) as score from table1 group by name) b where table1.name=b.name and table1.score=b.score
 
哦,忘了还要分组
select * from 表名 where Score in (select top 3 Score from 表名 Group by Score order by Score desc)
呵呵呵
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部