1

我有一张如下表,

表格1

在此处输入图像描述

当我使用查询时

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

结果按顺序排列

猫头衔

银行

美容院

住宿

但我需要查询中给出的结果,例如,

猫头衔

比蒂客厅

住宿

银行

我该怎么办?

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 回答