我有一个包含 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
子句并按升序对输出进行排序。
最佳答案
尝试使用 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')
关于MySQL 自定义 order by 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21521299/