34,588
社区成员
发帖
与我相关
我的任务
分享
select *
from Tb as a
where not exists(select 1 from Tb as b where b.用户=a.用户 and a.设备=b.设备 and b.时间 > a.时间)
select *
from TB a
where not exist (select * from TB where 用户=a.用户 and 时间 > a.时间)
SELECT * FROM(
SELECT ROW_NUMBER()OVER(PARTITION BY 用户,设备 ORDER BY 时间 DESC)RN
,*
FROM TB
)T
WHERE RN=1
SQL 2005+有效用户 设备 时间 类型 状态
A aaa getdate() 0 正常
A aaa getdate()-1 1 报停
B bbb getdate() 1 报停
B bbb getdate()-1 0 正常
我想获得的结果集是:
用户 设备 时间 类型 状态
A aaa getdate() 0 正常
B bbb getdate() 1 报停
SELECT 用户,设备,MAX( 时间)
FROM TB
GROUP BY 用户,设备