2009年6月11日 星期四

如何在同一資料表以相同的某個欄位尋找最新或最後的一筆資料

用SQL2000所提供的北風資料庫的訂單資料表(Orders)一範例。
如果要尋找每位客戶最後一次下訂單的那筆資料,試以下語法(應該會有90筆資料):
SELECT o1.*
FROM Orders o1 INNER JOIN
(SELECT CustomerID, MAX(OrderDate) AS OrderDate
FROM Orders
GROUP BY CustomerID) o2
ON o1.CustomerID = o2.CustomerID AND o1.OrderDate = o2.OrderDate

沒有留言: