所以,我正在用头撞墙…… 我有一个表(有几百万行),看起来像这样:
ID Time Area Name
1 2017-01-01 01:42 21 Test
1 2017-01-02 02:13 21 Test
1 2017-02-01 12:45 30 N/A
1 2017-03-12 02:23 41 N/A
2 2017-02-15 04:25 20 N/A
我想运行一个查询来选择某个 ID 的最新出现的区域; 结果是这样的:
ID Time Area Name
1 2017-01-02 02:13 21 Test
1 2017-02-01 12:45 30 N/A
1 2017-03-12 02:23 41 N/A
select max(Time),
"of every area"
from TABLE
where ID = 1
如果有人能给我线索,那就太棒了!
最佳答案
另一个选项(无子查询和/或额外字段)
示例
Select Top 1 with Ties *
From YourTable
Where ID =1
Order By Row_Number() over (Partition By Area Order By [Time] Desc)
返回
ID Time Area Name
1 2017-01-02 02:13:00.000 21 Test
1 2017-02-01 12:45:00.000 30 N/A
1 2017-03-12 02:23:00.000 41 N/A
关于sql - MSSQL - 选择表中最新出现的几行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46772978/