2017年9月4日 星期一

MySQL 使用 IN 時,按照順序回傳資料

今天寫程式的時候發現有一個bug,仔細追下去才發現是 in 居然不會按照所給的條件順序來回傳內容,google了一下才知道要按照順序回傳還要下其他指令...

select * from table where id in ( 3, 5, 7, 2, 4, 1) order by field ( id , 3, 5, 7, 2, 4, 1)
後面那個id 是要用來排序的欄位,不可省略,這樣資料就會按照 3, 5, 7, 2, 4, 1 的順序來回傳了

沒有留言: