-- MYSQL 利用FIND_IN_SET进行排序,
-- MySQL会自动按主键自增排序,如何实现按给定的顺序排序呢?
SELECT * FROM table_yours WHERE id in('str1','str2','str3') ORDER BY FIND_IN_SET(id,'str1,str2,str3')
SELECT * FROM table_yours WHERE FIND_IN_SET(id,'str1,str2,str3') ORDER BY FIND_IN_SET(id,'str1,str2,str3')
-- 如下的排序结果就是按照FIND_IN_SET中的字符串顺序来的,不信你试试,因为:FIND_IN_SET返回的结果0 1 2 3 ......
SELECT
*
FROM
t_xxx_bag
WHERE
id IN (
'1115427324643549184',
'1116507795656548352',
'123456',
'234567',
'345678'
)
ORDER BY
find_in_set(
id,
'1115427324643549184,1116507795656548352,123456,234567,345678'
)