如何在MSSQL中选择最新日期的记录



从下表中,我想写一个select语句,在其中我可以为最近日期。

Item  |  Price   | Date
------|----------|--------
1001  |   10      | 26-5-2019
1001  |   11      | 15-02-2020
1001  |   9       | 28-08-2020
1002  |   5       | 1/7/2019
1002  |   3       | 8/11/2019
1002  |   4       | 5/5/2020
1003  |   6       | 26-05-2019
1003  |   7       | 1/2/2020
1003  |   5       | 15-09-2020

结果应如下:

Item  |  Price   | Date 
------|----------|-------- 
1001  |  9       | 28-08-2020 
1002  |  4       | 5/5/2020 
1003  |  5       | 15-09-2020 

尽管表不可读,而且到目前为止您还没有发布任何关于您所尝试的内容的信息,但我会尽力帮助您。。。

您可以通过窗口函数获取价格-在本例中为row_number。你应该尝试以下方法:

SELECT x.*
FROM (SELECT Item, Price, [Date], ROW_NUMBER() OVER (PARTITION BY Item ORDER BY [Date] DESC) AS rn) x
WHERE x.rn = 1

最新更新