加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

“WHERE字段IN”SQL查询的顺序?

发布时间:2021-03-17 20:29:42 所属栏目:MySql教程 来源:网络整理
导读:我使用以下SQL从MySQL数据库中选择记录: SELECT * FROM cms_product WHERE id IN (3,22,1); 结果顺序等于“ORDER BY id ASC”,因此在示例中返回记录1,3,22.如何以IN子句中输入的确切方式对它们进行排序?订购为3,1?谢谢.最佳答案众多选择 案件: 首选,是AN

我使用以下SQL从MySQL数据库中选择记录:

SELECT * FROM cms_product WHERE id IN (3,22,1);

结果顺序等于“ORDER BY id ASC”,因此在示例中返回记录1,3,22.如何以IN子句中输入的确切方式对它们进行排序?订购为3,1?谢谢. 最佳答案 众多选择 –

案件:

首选,是ANSI-92,它可以移植到其他数据库.

  SELECT * 
    FROM cms_product 
   WHERE id IN (3,1)
ORDER BY CASE id
           WHEN 3 THEN 1
           WHEN 22 THEN 2
           WHEN 1 THEN 3
         END

FIND_IN_SET:

  SELECT * 
    FROM cms_product 
   WHERE id IN (3,1)
ORDER BY FIND_IN_SET(id,'3,1');

领域:

  SELECT * 
    FROM cms_product 
   WHERE id IN (3,1)
ORDER BY FIELD(id,1);

参考:

> CASE
> FIELD
> FIND_IN_SET

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读