2017年4月17日月曜日

MySQLで「IN()」句でデータを取り出した際、指定した通りにORDER BYで並べ替える

MySQLで「IN()」句でデータを取り出した際、指定した通りにORDER BYで並べ替える方法です。FIELD関数を利用すると、うまく取得できます。FIELD関数は、文字列に利用するものと思われがちですが、数値に対しても有効らしい。今まで、苦労して並べ替えてましたよ(笑)。

SELECT * FROM blogs 
WHERE id IN (10, 9, 8, 7, 6, 5) 
ORDER BY FIELD (blogs.id, 10, 9, 8, 7, 6, 5)

参考サイト
MySQL ORDER BY IN()(Stack Overflow)

0 件のコメント:

コメントを投稿