[SQL ] 問 group by 和 order by 複合使用時的問題

看板Database作者 (心中在下雨)時間14年前 (2009/10/19 10:38), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
假設我現在要從資料庫裡面select某家店最後賣出去的10本書(依時間排列) (使用mysql) SELECT book_id,sell_time FROM sell_data WHERE store_id = '1' ORDER BY sell_time desc LIMIT 0,10 但是此時因為可能同一本會連續賣出兩本以上,所以我用 group by 來消除重複 SELECT book_id,sell_time FROM sell_data WHERE store_id = '1' GROUP BY book_id ORDER BY sell_time desc LIMIT 0,10 可是這樣一來order by 所查詢的時間變成這本書第一次賣出的時間 無法正確排序最新的十筆 目前我使用的暫時解決方式是 由新往舊,一筆一筆的去找book_id 找到重複的就跳過 直到找齊10本為止 想要詢問是否有更符合需求的方式 感謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.4.223

10/19 10:57, , 1F
用 sub-query,先 group by book_id 然後在挑時間
10/19 10:57, 1F
文章代碼(AID): #1Asz4_jq (Database)