2

mysqlの「where in」句の条件の順序でデータベースから結果を取得するにはどうすればよいですか?

例えば:

テーブル

id name
1 | riz
2 | irf
3 | far
4 | zab
5 | yas

where in 句に入れられた条件の順序でデータが必要です...?

select * from foo where id in (2,3,4,1,5);

例えば。

id  name
2 | irf
3 | far
4 | zab
1 | riz
5 | yas
4

3 に答える 3

4

あなたが使用することができます:

select * from foo where id IN(2,3,4,1,5) order by FIND_IN_SET(id, '2,3,4,1,5');

それはあなたのために働くでしょう。

于 2012-06-20T12:50:44.987 に答える
2
SELECT * 
FROM  foo 
where id in (2,3,4,1,5);
ORDER BY FIND_IN_SET( id, '2,3,4,1,5' )

これが参照ですORDER BY FIND_IN_SET()

于 2012-06-20T12:53:16.567 に答える
1

各 ID を異なる並べ替えケースとして指定できます。

SELECT *
FROM foo
WHERE
  id IN(2,3,4,1,5)
ORDER BY
  id = 2 DESC,
  id = 3 DESC,
  id = 4 DESC,
  id = 1 DESC,
  id = 5 DESC
于 2012-06-20T12:51:01.560 に答える