【问题标题】:SQL Server - Selecting MAX record by another value [duplicate]SQL Server - 通过另一个值选择MAX记录[重复]
【发布时间】:2020-10-20 20:27:17
【问题描述】:

我有一个包含四列的表:Note ID、Contact ID、Created By 和 Created Date。我想运行一个查询,该查询将按 CONTACT ID 返回最新的 CREATED BY(即“John Smith”)。联系人 ID 自然会在表格中出现多次。

我显然通常会在 Created Date 列中运行 MAX() 语句,但问题是我需要在返回的数据中包含 Contact ID 和 Created By,但我不能按这两列进行分组因为我会收到每个联系人 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

【问题讨论】:

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-04-23
    • 1970-01-01
    • 2015-11-30
    • 2019-12-17
    • 1970-01-01
    • 2014-10-16
    • 2010-12-11
    • 2019-06-13
    • 1970-01-01
    相关资源
    最近更新 更多