1
我有ROW_NUMBER
函数,我正在使用获取最新的记录,但该函数中的Order by
似乎没有工作。不知道我做错了什么。结果表排序By Row_number not working properly
SELECT *,
ROW_NUMBER() OVER(PARTITION BY EmployeeID, DepartmentID ORDER BY PayDate, WorkDate desc) AS CurrentFlag
FROM test
例子:
EmployeeID | DepartmentID | Balance | PayDate | WorkDate | CurrentFlag
123 1 200 1/3/2017 12/22/2016 1
123 1 300 1/3/2017 12/23/2016 2
123 1 500 1/5/2017 12/24/2016 3
我应该得到:
EmployeeID | DepartmentID | Balance | PayDate | WorkDate | CurrentFlag
123 1 200 1/3/2017 12/22/2016 3
123 1 300 1/3/2017 12/23/2016 2
123 1 500 1/5/2017 12/24/2016 1
我不知道我在我的ROW_NUMBER
功能做错了。我订购PayDate
,然后WorkDate
降序,所以我应该得到CurrentFlag = 1
为最新WorkDate
这是12/24/2016
。我在这里错过了什么吗?
OMG太感谢你了,我不知道你有指定的顺序为每列 – Stephanie
@Stephanie嘿没有问题,快乐编码:) –