我正在运行 Microsoft SQL Server 2014 - 12.0.4213.0 (X64)。
(道歉 - 我是新手,我知道我正在运行旧版本)
我有下表:
我想返回一个组,该组将显示每个 ID 号的最大时间,但也返回该Name最大行的值。
Name
我可以做一个
SELECT ID, MAX(Time) FROM ... WHERE ... GROUP BY (ID)
但我也需要加入Name专栏。我只希望每个 ID 一行返回该 ID 的最大时间,以及Name与该时间和 ID 号相关联
任何帮助都会非常感谢
这种事情已经被问过很多次了,但找到正确的搜索词可能是一项挑战。以下是如何使用示例数据解决此问题。
declare @Something table ( ID int , Name varchar(20) , Time datetime2 ) insert @Something values (1, 'Finished', '2022-07-13 17:09:48.0000000') , (1, 'Start', '2022-07-13 17:00:48.0000000') , (2, 'Clean', '2022-07-13 15:09:48.0000000') , (2, 'Waiting', '2022-07-13 17:34:48.0000000') , (2, 'Clean', '2022-07-13 12:09:48.0000000') , (3, 'Start', '2022-07-12 18:09:48.0000000') , (3, 'Middle', '2022-07-12 14:09:48.0000000') , (3, 'Middle', '2022-06-13 17:09:48.0000000') select ID , Name , Time from ( select * , RowNum = ROW_NUMBER()over(partition by s.ID order by s.Time desc) from @Something s ) x where x.RowNum = 1