我有这样的查询:
SELECT Name FROM Table WHERE Id IN (414208,479516,4129769,414211,221171,3226290)
返回该列表中所有具有id的名称,按照它们第一次被发现的顺序。例如:如果id为221171的Jax是找到的第一个元素,那么它将是结果表的第一个元素。
是否有一种方法可以根据元素在列表中的出现方式对它们进行排序?也就是说,在结果中列出的第一个名字的Id应该是414208,第二个元素的Id应该是479516…最后一个元素的Id应该是3226290。
试试这个:
SELECT
Id
FROM
Table
WHERE
Id IN (414208,479516,4129769,414211,221171,3226290)
ORDER BY
FIELD(Id, 414208,479516,4129769,414211,221171,3226290)
可以使用mysql函数find_in_set
SELECT Name FROM Table WHERE Id IN (414208,479516,4129769,414211,221171,3226290) order by FIND_IN_SET(ID,'414208,479516,4129769,414211,221171,3226290')