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

时间:2020-10-20 20:27:17

标签: sql sql-server max sql-order-by

我有一个包含四列的表:注释ID,联系人ID,创建者和创建日期。我想运行一个查询,该查询将通过CONTACT ID返回最新的CREATED BY(即“ John Smith”)。当然,联系人ID可以在表格中多次出现。

很明显,我通常会在“创建日期”列上运行MAX()语句,但是问题是我需要在返回的数据中显示联系人ID和创建者,但是我不能将两者按分组这些列,因为我随后将在每个“联系人ID” /“分组创建”中收到多行。

在下面的示例中,我想返回的内容是: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

1 个答案:

答案 0 :(得分:1)

最简单的方法是执行ORDER BY首先获取最新的行。使用TOP 1仅获得一行,最新的一行。

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