56,687
社区成员
发帖
与我相关
我的任务
分享
SELECT DISTINCT a.*
FROM 表 a
WHERE a.id IN ( SELECT
id
FROM 表
WHERE type = a.type
ORDER BY id DESC limit 2)
ORDER BY id DESC
--测试数据
if not object_id(N'Tempdb..#T') is null
drop table #T
Go
Create table #T([id] int,[type] int,[desc] nvarchar(24))
Insert #T
select 1,1,N'测试1' union all
select 2,1,N'测试2' union all
select 3,1,N'测试3' union all
select 4,2,N'测试4' union all
select 5,2,N'测试5' union all
select 6,3,N'测试6' union all
select 7,3,N'测试7' union all
select 8,3,N'测试8' union all
select 9,4,N'测试9' union all
select 10,4,N'测试10'
Go
--测试数据结束
SELECT DISTINCT a.*
FROM #T a
WHERE a.id IN ( SELECT TOP 2
id
FROM #T
WHERE type = a.type
ORDER BY id DESC )
ORDER BY id DESC
SELECT a.*
FROM 表 a
WHERE a.id IN ( SELECT TOP 10
id
FROM 表
WHERE type = a.type
ORDER BY id DESC )
ORDER BY id DESC