保留前n条数据,该怎么解决
保留前n条数据
表结构如下:
ID ClassID
1 13
2 14
3 201
4 201
5 201
6 201
7 201
8 201
9 201
.............
265 201
现在要求:每个classid只保留前50条数据,有些classid没有50条记录,
请问这个sql语句该怎么写,要求一条sql语句
------解决方案--------------------
表结构如下:
ID ClassID
1 13
2 14
3 201
4 201
5 201
6 201
7 201
8 201
9 201
.............
265 201
现在要求:每个classid只保留前50条数据,有些classid没有50条记录,
请问这个sql语句该怎么写,要求一条sql语句
------解决方案--------------------
- SQL code
delete from tb where id not in (select top 50 id from tb as t where tb.ClassId=t.ClassId order by id)