私は次のようなテーブルを持っています、
表1
クエリを使用する場合
"SELECT cat_title FROM table1 WHERE cat_id IN(21,10,25,4)"
結果は順番になります
cat_title
銀行
ビューティーパーラー
車両
収容
しかし、私は次のようなクエリで与えられた結果が必要です
cat_title
車両
ビーティパーラー
収容
銀行
何をしたらいいでしょう?
私は次のようなテーブルを持っています、
表1
クエリを使用する場合
"SELECT cat_title FROM table1 WHERE cat_id IN(21,10,25,4)"
結果は順番になります
cat_title
銀行
ビューティーパーラー
車両
収容
しかし、私は次のようなクエリで与えられた結果が必要です
cat_title
車両
ビーティパーラー
収容
銀行
何をしたらいいでしょう?
あなたはこれを試すことができます:
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'));
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
)