2009年7月16日 星期四

如何查詢資料表中,某群組中的最後一筆(或最大值)資料

EX:北風資料庫訂單資料表中,如果要找每個客戶最後一筆訂單,可利用自己JOIN自己的方式來辦到

SELECT order1.* FROM Orders order1
INNER JOIN
(SELECT CustomerID, MAX(OrderDate) AS OrderDate FROM Orders GROUP BY CustomerID) order2
ON order1.CustomerID = order2.CustomerID AND order1.OrderDate = order2.OrderDate


其中的重點如下:
1 自己JOIN 自己
2 運用MAX撈出最大值
3 使用GROUP BY 篩選

沒有留言:

張貼留言