一个简单的SQL语句求大神。
表Users
id classid name age
1 1 a 11
2 1 b 12
3 2 c 13
4 3 d 11
5 3 e 12
6 1 d 14
7 1 h 15
8 2 i 16
9 2 g 12
10 3 v 11
11 1 d 15
12 2 f 13
我想要得到的是 按班级classid 取 前三个的id,name然后按年龄排序
结果
id classid name age
1 1 a 11
2 1 b 12
6 1 d 14
3 2 c 13
12 2 f 13
8 2 i 16
4 3 d 11
10 3 v 11
5 3 e 12
------解决方案--------------------select id ,classid ,name ,age from
(select no=row_number() over(partition by classid order by id),* from tb)t