mysql出力結果を指定ID番号で並べ替える

668 ワード

SELECT * FROM `cms_hit` WHERE aid in (5,6,55,173,177,174,175,176) 

一般にSQL出力指定IDはソートが必要であり、以上の結果出力には一定の不確実性がある.要求に応じて
55,6,5,173,176,174,175,177

の順に結果を出力します.
結果は逆シーケンスだけでなく,逆シーケンスで需要を達成できる場合がある.最初はIDの法則を探そうと思っていたが、意味がわからなかった.できなかったので、帰って資料を調べてみましたが、実は簡単でした.
SELECT *,instr(',55,6,5,173,176,174,175,177,',concat(',',aid,',')) as c FROM `cms_hit` 
WHERE aid in (5,6,55,173,177,174,175,176) order by c asc

このように用いられる2つの関数もよく用いられるMYSQL関数である.
instr文字列2、さらに文字列1の位置.
concat接続文字列.