MySQL 組內排序(Group By)

id name date quan
1 olay 1997-01-01 3
2 olay 2010-01-01 5000
3 olay 2011-01-01 90000
4 kiehl 2011-01-01 333
5 kiehl 2011-12-12 999

以上是示範的數據表, 內容爲倉庫物品的盤點

現在想顯示{每個物品最近一次盤點}的信息

完整代碼如下:

SELECT tmp.id,tmp.name,tmp.date,tmp.quan FROM(
SELECT id,name,date,quan FROM datet ORDER BY date desc) as tmp
GROUP BY name

思路就是首先對日期進行降序,這樣日期臨近的就被排在前面,之後再對物品名稱分組,

就得到[對物品名分組,並且日期是降序的]結果了


實現上, 括號內是一次查詢,就是按日期排序

把這個查詢的結果作爲tmp表(as tmp),之後再對tmp表按名稱分組(group by name)就得到了結果

發佈了27 篇原創文章 · 獲贊 0 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章