MySQL自定义order by子句

时间:2014-02-03 06:50:53

标签: mysql

我有一个包含125条记录的MySQL表,主键是id字段。

我正在尝试输出行,具体取决于用户如何通过网络表单提交新订单。

例如,如果表单数据以3,54,32,112,99的形式返回,我构建以下查询:

SELECT * FROM my_table WHERE id=3 OR id=54 OR id=32 OR id=112 OR id=99

我首先需要输出为第3行,然后是第54行,第32行等...但是它只是使用默认的ORDER BY子句并按升序对输出进行排序。

1 个答案:

答案 0 :(得分:4)

尝试使用FIND_IN_SET()

SELECT * FROM my_table
         WHERE id IN (3,54,32,112,99)
         ORDER BY FIND_IN_SET(id,'3,54,32,112,99')