试图从表中提取最近的工资率

bea*_*auk 3 sql sql-server

我只是坚持看似简单的东西,但我无法弄清楚语法.我有一张工资表,与费率变化的日期和员工ID有关.每位员工多条记录.

我正在尝试获取最近日期的清单,以及仅在该日期的工资.我试过了:SELECT MAX(Date),Rate,EmpID FROM History

但这不起作用.它似乎返回了每个工资率的记录.

其他人如何有效地做到这一点?

Mik*_*son 5

这将为您提供最新RateEmpID.

select [Date],
       Rate,
       EmpID
from (select [Date],
             Rate,
             EmpID,
             row_number() over(partition by EmpID order by [Date] desc) as rn
      from History) as H
where rn = 1
Run Code Online (Sandbox Code Playgroud)

试试这里:http://data.stackexchange.com/stackoverflow/q/109020/