0

我有这个查询:

SELECT Name FROM Table WHERE Id IN (414208,479516,4129769,414211,221171,3226290)

这将返回所有在该列表中具有 Id 的名称,以首先找到它们。例如:如果 ID 为 221171 的 Jax 是找到的第一个元素,那么它将是该结果表的第一个元素。

有没有办法按照元素在该列表中的显示方式对元素进行排序。IE 将在结果中列出的第一个名称的 ID 应为 414208,第二个元素的 ID 应为 479516...最后一个元素的 ID 应为 3226290。

4

2 回答 2

2

尝试这个:

SELECT 
   Id
FROM 
   Table
WHERE 
   Id IN (414208,479516,4129769,414211,221171,3226290)
ORDER BY 
   FIELD(Id, 414208,479516,4129769,414211,221171,3226290)
于 2013-04-23T12:33:58.413 回答
1

你可以使用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')
于 2013-04-23T12:38:07.967 回答