【发布时间】:2017-03-02 12:01:06
【问题描述】:
我使用的是 SQL-server 2008
我的桌子是这样的:
max_period Employee ID Preferred Name
2016-10-19 00:00:00.000 16317 James Hello
2015-10-31 00:00:00.000 16317 Jimmy Hello
我试图仅通过 Employee_ID 获取 max_period 最大的名称
输出如下所示:
max_period Employee ID Preferred Name
2016-10-19 00:00:00.000 16317 James Hello
有人可以帮我解决这个问题吗?这似乎很容易,但首先让我很头疼。
【问题讨论】:
-
在派生表/CTE 中使用
RANK或ROW_NUMBER() OVER (PARTITION BY Employee_ID ORDER BY max_period DESC) as r,然后过滤WHERE r = 1
标签: sql sql-server sql-server-2008 greatest-n-per-group