表结构:
学生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)
学生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)