SQL Server-通过另一个值选择MAX记录



我有一个包含四列的表:Note ID、Contact ID、Created By和Created Date。我想运行一个查询,通过CONTACT ID返回最近的CREATED BY(即"John Smith"(。联系人ID自然可以在表中多次出现。

很明显,我通常会通过Created Date列运行MAX()语句,但问题是我需要有Contact ID&返回的数据中存在Created By,但我不能同时按这两列进行分组,因为每个联系人ID/Created By Grouping会收到多行。

在下面的示例中,我希望看到返回的是:1118653/Katy Combs,因为她有最近的CreatedOn。

ContactID   Created By         Created Date
1118653     Katy Combs         2020-10-19 19:58:11.687
1118653     Danielle Scarrone   2020-10-15 18:07:01.630

简单的方法是,先执行ORDER BY以获取最新的行。使用TOP 1只获取一行,即最新的一行。

select top 1 t.*
from tablename t
order by [Created Date] desc

最新更新