我是SQL Server 的新手。我有一个包含用户名、地址和更新日期的表。
以下查询为我提供了该表中所有必需的详细信息,但我的问题是该表可以包含同一用户/ID 的多条记录,以防他们多次更改地址。
如何只从每个用户/ID 的最新更新中获取地址?我尝试过DISTINCT
,TOP1
等等,但无法想出一种方法来完成这项工作。
我的查询:
SELECT
u.ID
, u.lastName + ', ' + u.firstName AS fullName
, u.DOB
, u.homeAddress
, u.updateDate AS lastUpdate
FROM dbo.Users u
GROUP BY u.ID, u.lastName, u.firstName, u.homeAddress, u.updateDate
ORDER BY u.lastName, u.firstName, updateDate DESC
select * from (
select rn = row_number() over (partition by id order by updateDate desc), *
from Users
) x
where rn = 1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句