看板 Database 關於我們 聯絡資訊
網址: http://sqlfiddle.com/#!9/920483/18 select * from orders t1 inner join order_items t2 on t1.id = t2.order_id inner join commodities t3 on t2.match_id = t3.id inner join ( select t1.id,min(manufacture_time) as m_time from orders t1 inner join order_items t2 on t1.id = t2.order_id inner join commodities t3 on t2.match_id = t3.id group by t1.id ) t4 on t1.id = t4.id order by t4.m_time,t1.id 青色: 訂單所對應最小的 manufacture_time,為排序條件 黃色: manufacture_time 相同的話,再以 order id 排序 ※ 引述《MOONY135 (談無慾)》之銘言: : (針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行) : 資料庫名稱: : mysql : 資料庫版本: : 5.7 : 內容/問題描述: : 最近工作上遇到一個排序的問題 我個人是覺得把資料取出來之後再用linq之類的去排序 : 對寫程式的人來說會比較簡單 但如果要效能的話 : 可能就是要從db query出來就是正確的排序會比較好 : 不知道就大家工作上會是怎樣處理呢 : 這是想要組出來的結果 : https://pastebin.com/3vyu2J1H : 可能會有根據訂單內容的manufacture_time對訂單排序(想不到怎樣做) : 也有根據訂單的create_at來排序(這比較簡單) : 以下是我的測資 : https://pastebin.com/FpMUVQCM -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.168.240.96 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1571834281.A.8C0.html