0

私はこのクエリを持っています:

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

これにより、そのリストに Id を持つすべての名前が、最初に見つかった順に返されます。たとえば、ID 221171 の Jax が最初に見つかった要素である場合、それが結果のテーブルの最初の要素になります。

そのリストに表示される方法で要素を並べ替える方法はありますか。つまり、結果に表示される最初の名前の ID は 414208、2 番目の要素の 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 に答える