我有一个数据表(数据库是 MSSQL):

ID  OrderNO  PartCode  Quantity DateEntered
417 2144     44917     100      18-08-11
418 7235     11762     5        18-08-11
419 9999     60657     100      18-08-11
420 9999     60657     90       19-08-11
我想进行一个返回 OrderNO、PartCode 和 Quantity 的查询,但仅针对最后注册的订单。
从示例表中,我想取回以下信息:
 OrderNO  PartCode  Quantity
 2144     44917     100
 7235     11762     5
 9999     60657     90
请注意,订单 9999 仅返回了一行。
谢谢!

最佳答案

如果 rownumber() over(...) 对您可用....

select OrderNO,
       PartCode,
       Quantity
from (select OrderNO,
             PartCode,
             Quantity,
             row_number() over(partition by OrderNO order by DateEntered desc) as rn
      from YourTable) as T
where rn = 1

关于sql-server - SQL Server : SELECT only the rows with MAX(DATE),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7118170/

10-15 14:54