我有一张桌子如下,
table1

当我使用查询时
"SELECT cat_title FROM table1 WHERE cat_id IN(21,10,25,4)"
结果按顺序排列
cat_title 银行 美容院 小汽车 食宿
但是我需要查询中给出的结果,
cat_title 小汽车 贝蒂帕卢尔 食宿 银行
我该怎么办?
发布于 2012-10-19 10:02:36
你可以试试这个:
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-19 10:04:09
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
)https://stackoverflow.com/questions/12971780
复制相似问题