我有一个在FacilityID上有重复记录的SQL表。FacilityKey是唯一的。我需要选择在FacilityID上重复的行,但我只想为每个显示一个记录,并且我想选择一个具有最新(最高)FacilityKey的记录。有人可以帮我弄清楚如何编写查询吗?我已经尽力想了一切,并在互联网上搜索了类似的尝试,但都无济于事。我所能找到的只是识别重复记录的示例。
这样的事情应该起作用:
select FacilityID, max(FacilityKey)
from Facilities
group by FacilityID
having count(FacilityID)>1
然后,如果要获取所有字段,则如下所示:
select *
from facilities
inner join (
select FacilityID, max(FacilityKey) as maxkey
from Facilities
group by FacilityID
having count(FacilityID)>1
) t on t.FacilityID = facilities.FacilityID and t.maxkey=facilities.FacilityKey
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句