作者:
cutekid (可愛小孩子)
2019-10-23 20:37:58網址: 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