我有一資料表如下:
客戶名稱 | 進貨品名 | 進貨日期 | 進貨數量 | 進貨單價 |
小明書局 | Windows XP 使用手冊 | 20080110 | 10 | 250 |
大雄書局 | Office 2007 使用手冊 | 20080125 | 5 | 210 |
大雄書局 | Office 2007 使用手冊 | 20080510 | 6 | 205 |
小明書局 | Windows XP 使用手冊 | 20080520 | 8 | 245 |
請問該如何下sql指令,才能篩選出最近一筆進貨之資料(所需結果如下):
客戶名稱 | 進貨品名 | 進貨日期 | 進貨數量 | 進貨單價 |
小明書局 | Windows XP 使用手冊 | 20080520 | 8 | 245 |
大雄書局 | Office 2007 使用手冊 | 20080510 | 6 | 205 |
感謝大家

--------------------
依照我目前的狀況
同一天進貨的產品是不會有第二筆的情形出現的..
----------------------------------------------------
為了讓各位高手先進更了解我的目的與需求
我更正我上述的限制條件:
同一家廠商同一天進貨的品號一定只有一筆,但是可能會有好幾種品號
比如說:A廠商於20080520進貨了品號A與品號B,品號A與品號B於20080520最多只會各出現1筆
進貨數量與單價可以不列入考慮
我最終的目的是要取每一家廠商所進的每一種品號,其最後進貨日期為何?
希望輸出結果如下
廠商名稱 | 進貨品號 | 進貨日期 |
廠商A | 品號A | 取最近的日期 |
廠商A | 品號B | 取最近的日期 |
廠商B | 品號A | 取最近的日期 |
廠商B | 品號B | 取最近的日期 |
希望各位先進可以看的清楚我的需求為何?
-----------------------------------------------------------------
感謝眾人的集思廣益
更謝謝 30樓 askasyoi 大大的指導建議
沒想到語法就這麼簡單的幾句
SELECT RTRIM(MA003) + '-' + RTRIM(MA001) AS 廠商品號, MAX(MA012) AS 進貨日期
FROM dbo.MOCMA
GROUP BY RTRIM(MA003) + '-' + RTRIM(MA001)
還真的跑出我要的結果

我將askasyoi大大的語法略作修改如下
SELECT TOP 100 PERCENT RTRIM(MA003) + '-' + RTRIM(MA001) AS 廠商品號,
MAX(MA012) AS 進貨日期, COUNT(*) AS 進貨次數
FROM dbo.MOCMA
GROUP BY RTRIM(MA003) + '-' + RTRIM(MA001)
HAVING (COUNT(*) >= 1)
ORDER BY 廠商品號
不過我還有一個需求就是
如果要撈出最後第二筆的進價資料的話
語法應該怎麼下會比較好 ?
(如果某個品號最近進價日期僅有一筆的話,那就撈那一筆,如果有好幾筆的話就要撈最後第二筆)