我有一个表ErrorLog
,其中包含以下字段
Id - Primary key
Message- varchar(200)
CustomerId - int
CreatedDate - DateTime
每次登录用户收到错误时,都会记录在ErrorLog
表中。
现在我想要获取不同的消息以及所有其他字段,其中CreatedDate等于getdate()-1
。
例如: 如果我在我的表中有这些值
然后我应该输出
查询后
。
我无法通过CreatedDate获取不同的消息值。任何想法如何实现这一目标?
答案 0 :(得分:1)
您需要一个ROW_NUMBER才能找到每封邮件的最新行:
select Id, Message, CustomerId, CreatedDate
from
(
select Id, Message, CustomerId, CreatedDate,
row_number ()
over (partition by Message
order by CreatedDate desc) as rn
from ErrorLog
where your-condition-here
) as dt
where rn = 1