我的問題是不同的,但我已閱讀本相似,所以帖子: How can I order by two columns, if result is equal, consider another column?MySQL的ORDER BY一列第二列
我感興趣的2列:
- production_id
- 日期
查詢是:
SELECT BATCH_ISSUED.production_id, MANUFACTURE_DATE.date
FROM BATCH_ISSUED LEFT JOIN
MANUFACTURE_DATE
ON BATCH_ISSUED.production_id = MANUFACTURE_DATE.production_id
WHERE MANUFACTURE_DATE.active='1'
ORDER BY MANUFACTURE_DATE.date ASC,BATCH_ISSUED.production_id ASC
這會提取數據並按日期排序(舊>新),然後按id
排序,但它需要將所有相同的id
組合在一起,這可能意味着需要以某種方式包含GROUP BY。
數據的一個例子:
195 2017-10-10
196 2017-10-10
196 2017-10-10
258 2017-10-10
258 2017-10-10
189 2017-10-12
190 2017-10-12
258 2017-10-12
212 2017-10-13
213 2017-10-13
應該提出這樣的,例如與ID 258放在一起,按日期順序排列:
195 2017-10-10
196 2017-10-10
196 2017-10-10
258 2017-10-10
258 2017-10-10
258 2017-10-12
189 2017-10-12
190 2017-10-12
212 2017-10-13
213 2017-10-13
的任何建議非常感謝!
什麼你的SQL查詢就像?樣本數據是什麼?預期的產出是多少? – SMA