這個問題在這里已經有了答案: 獲取每組的前 1 行 (22 個答案) 昨天關門。
我必須要資料表。第一個與用戶:
![SQL Server - 查詢 - 如何獲得子查詢的最后結果?[復制]](https://img.uj5u.com/2022/06/02/48d1b53ca4554ea397dc65a4cf1327af.png)
第二個是他們的命令。
![SQL Server - 查詢 - 如何獲得子查詢的最后結果?[復制]](https://img.uj5u.com/2022/06/02/ab05d224aa8b431281b71154e1e9c58b.png)
是否可以通過各自的最后一個訂單獲取整個用戶串列?像這樣:
![SQL Server - 查詢 - 如何獲得子查詢的最后結果?[復制]](https://img.uj5u.com/2022/06/02/50be1e3e7579404daa9bb5e5421a4e30.png)
這是我的嘗試,但不允許:
select a.id ,a.Name , b.Order ,b.Date
from users as a
left join (
select top 1 Orders.id , Orders.order , Orders.Date
from Orders
where Orders.id = a.id
order by orders.Date desc
) as b
on a.ID = b.Id
uj5u.com熱心網友回復:
一種方法是使用視窗函式:
select *
from Users u
left join (
select * , row_number() over (partition by ID order by date desc) rn
from orders
) t on t.rn = 1 and u.id = t.id
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/484688.html
