web-dev-qa-db-ja.com

SELECT ... WHERE id IN(...)を使用して、結果をIN()で並べ替えますか?

重複の可能性:
SQL IN()句の値の順序による順序付け

次のようなクエリを使用します。

SELECT * FROM images WHERE id IN (12,9,15,3,1)

iN句の内容で結果を並べ替えることはできますか?

私が探している結果は次のようになります。

[0] => Array
    (
        [id] => 12
        [file_name] => foo
    )   
[1] => Array
    (
        [id] => 9
        [file_name] => bar
    )   
[2] => Array
    (
        [id] => 15
        [file_name] => baz
    )
...
19
Jeff

IN節は集合を定義し、数学の集合には順序がありません。

ただし、 FIELD() 関数を使用することでMySQLの回避策があるようです。

7
Daniel Vassallo