首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mysql中按所需顺序检索行

如何在mysql中按所需顺序检索行
EN

Stack Overflow用户
提问于 2012-10-19 09:57:34
回答 2查看 64关注 0票数 1

我有一张桌子如下,

table1

当我使用查询时

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

结果按顺序排列

cat_title 银行 美容院 小汽车 食宿

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

cat_title 小汽车 贝蒂帕卢尔 食宿 银行

我该怎么办?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-19 10:02:36

你可以试试这个:

代码语言:javascript
复制
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;

代码语言:javascript
复制
SELECT cat_title
FROM table1
WHERE cat_id IN(21,10,25,4)
ORDER BY FIND_IN_SET(cat_id, ('21,10,25,4'));
票数 2
EN

Stack Overflow用户

发布于 2012-10-19 10:04:09

代码语言:javascript
复制
 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
           )
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12971780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档