【问题标题】:SQL Select Max Date with Multiple recordsSQL选择多条记录的最大日期
【发布时间】:2011-06-16 13:18:32
【问题描述】:

我正在努力查询以提取最新条目。我有一个包含以下列的 Notes 表:

BusinessDate
ReportGuid
NoteGuid
Note
NoteDate
NoteAddedBy

BusinessDate、ReportGuid 和 NoteGuid 是桌面上的 PK。此表允许特定的 ReportGuid 每天有多个注释。我有另一个表,其中包含将加入并为用户显示的其他报告信息。我正在尝试仅提取并显示每个 ReportGuid 的最新注释条目。

我尝试使用 Max(NoteDate),但这只会让我获得添加到表格中的最新注释,而不是每个 ReportGuid 的最新注释。

任何帮助将不胜感激。

谢谢

更新:

感谢您的帮助:

SELECT N.Note, N.ReportGuid
FROM Tracking.SM_T_Report_Notes N
RIGHT OUTER JOIN
    (
    SELECT ReportGuid, Max(NoteDate) As NoteDate
    FROM Tracking.SM_T_Report_Notes
    GROUP BY ReportGuid
    ) AS ND
    ON  N.NoteDate = ND.NoteDate

【问题讨论】:

    标签: sql-server select date


    【解决方案1】:

    您需要group by ReportGuid 并选择Max(NoteDate)。这将选择每个组的最大值。

    【讨论】:

    • 如果我只需要 ReportGuid 和 NoteDate 但我需要所有的数据列,这很有效。 SELECT ReportGuid, Max(NoteDate) As NoteDate FROM T.SM_T_Report_Notes GROUP BY ReportGuid
    • @bluefeet:哦,好的。在这种情况下,您可以简单地 SELECT max(ReportGuid), Max(NoteDate) As NoteDate FROM T.SM_T_Report_Notes GROUP BY ReportGuid
    猜你喜欢
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    相关资源
    最近更新 更多