使用SELECT ... WHERE id IN(...),按IN()排序结果?

时间:2010-03-12 21:23:58

标签: sql mysql sql-order-by

  

可能重复:
  Ordering by the order of values in a SQL IN() clause

使用如下查询:

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
    )
...

1 个答案:

答案 0 :(得分:6)

IN子句定义了一个集合,而数学集合没有顺序。

但是,使用FIELD()函数似乎有一种解决方法: