1

私は次のようなテーブルを持っています、

表1

ここに画像の説明を入力してください

クエリを使用する場合

"SELECT cat_title FROM table1 WHERE cat_id IN(21,10,25,4)"

結果は順番になります

cat_title

銀行

ビューティーパーラー

車両

収容

しかし、私は次のようなクエリで与えられた結果が必要です

cat_title

車両

ビーティパーラー

収容

銀行

何をしたらいいでしょう?

4

2 に答える 2

2

あなたはこれを試すことができます:

SELECT cat_title
FROM table1
WHERE cat_id IN(21,10,25,4)
ORDER BY (cat_id = 21) DESC, (cat_id = 10) DESC, (cat_id = 25) DESC, (cat_id = 4) DESC;

また

SELECT cat_title
FROM table1
WHERE cat_id IN(21,10,25,4)
ORDER BY FIND_IN_SET(cat_id, ('21,10,25,4'));
于 2012-10-19T10:02:36.610 に答える
1
 SELECT cat_title FROM table1 
 Where cat_id IN(21,10,25,4)
 ORDER BY (
            CASE WHEN cat_id = 21 THEN 0
          WHEN cat_id = 4 THEN 1
              WHEN cat_id = 10 THEN 2
          WHEN cat_id = 25 THEN 3
        END
           )
于 2012-10-19T10:04:09.553 に答える