现在的位置: 首页 > 综合 > 正文

分组取前N条的SQL语句!!!

2012年08月25日 ⁄ 综合 ⁄ 共 626字 ⁄ 字号 评论关闭

 

表结构:  


学生ID 班级 语文成绩  
1 1 21  
2 1 1  
3 1 3  
4 1 324  
5 1 54  
6 1 54  
7 1 47  
8 1 45  
9 1 32  
10 1 323  
11 1 23  
12 1 5  
13 1 345  
14 2 34  
15 2 5  
16 2 44563  
17 2 345  
18 2 234  
19 2 234  
20 2 345  
21 2 12  
22 2 12  
23 2 31  
24 2 534  
25 2 67  
26 2 567  
27 2 856  
28 2 732  
29 2 23  
30 3 32  
31 3 46  
32 3 45  
33 3 234  
34 3 7  
35 3 567  
36 3 3  
37 3 634  
38 3 64  
39 3 2  
40 3 23  
41 3 23  
42 3 523  
43 3 4  
44 3 3  
45 3 5324  


查询结果:  

学生ID 班级 语文成绩  
4 1 324  
13 1 345  
16 2 44563  
27 2 856  
37 3 634  
45 3 5324  


要求:取出所有班级前2名的记录:  


select 
*   

from 表  
as a  

where 语文成绩 
in(select top 2 语文成绩 from 表 where 班级=a.班级 order by 语文成绩 desc)

抱歉!评论已关闭.