在mysql中选择set order

时间:2011-06-22 08:09:27

标签: mysql sql

我有这样的查询:

SELECT title,id FROM table1 WHERE id IN ('2','7','4','10')

默认情况下,结果集按ID排序,但我需要按照上面设置的数字的确切顺序排列。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:5)

FIELD()函数应该可以执行此操作:

SELECT
    title, id
FROM
    table1
WHERE
    id IN ('2', '7', '4', '10')
ORDER BY FIELD(id, '2', '7', '4', '10')

另见MySQL sort after argument in IN()