数据库
首页 > 数据库> > MySQL通过id指定任意顺序

MySQL通过id指定任意顺序

作者:互联网

是否可以为MySQL SELECT语句指定任意顺序?例如.,

SELECT * FROM table_name WHERE id IN (1, 3, 2, 9, 7) ORDER BY (1, 3, 2, 9, 7);

在IN之后直接列出的数字的顺序似乎并不重要.

解决方法:

FIND_IN_SET函数可以解决这个问题

SELECT * FROM table_name WHERE id IN (1, 3, 2, 9, 7) ORDER BY FIND_IN_SET(id, '1,3,2,9,7');

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set

编辑:注意find_in_set函数的字符串参数中缺少空格.

标签:mysql,sql-order-by,where-in
来源: https://codeday.me/bug/20191001/1838654.html