mysql 使用order by filed,locate和instr自定义排序

发布时间:2018-05-22 11:41,

浏览次数:3094

, 标签:

mysql自定义排序

问题描述

大家都知道, MySQL 中按某字段升序排列的 SQL 为 (以 id 为例, 下同):SELECT * FROM `MyTable`

WHERE `id` IN (1, 7, 3, 5)

ORDER BY `id` ASC

降序排列的 SQL 为:SELECT * FROM `MyTable`

WHERE `id` IN (1, 7, 3, 5)

ORDER BY `id` DESC

有时以上排序并不能满足我们的需求. 例如, 我们想要按 id 以 5, 3, 7, 1 的顺序排列, 该如何实现. 这也是很多国内外同行经常遇到的问题之一.

下面我们给出按表中某字段, 以我们想要的列表方式排序的解决方案.

解决方案

用"按字段排序" (ORDER BY FIELD).

语法ORDER BY FIELD(`id`, 5, 3, 7, 1)

要注意的是, FIELD 后面是没有空格的.

因此, 完整的 SQL 为:SELECT * FROM `MyTable`

WHERE `id` IN (1, 7, 3, 5)

ORDER BY FIELD(`id`, 5, 3, 7, 1)

常见应用SELECT * FROM `MyTable`

WHERE `name` IN ('张三', '李四', '王五', '孙六')

ORDER BY FIELD(`name`, '李四', '孙六', '张三', '王五')

另外除了使用field,还可以用locate和instr函数进行排序:SELECT * FROM mr_member ORDER BY locate(id,'5056,5052,5054,5050') desc;

SELECT * FROM mr_member ORDER BY field(id,5056,5052,5054,5050) desc;

SELECT * FROM mr_member ORDER BY INSTR('5056,5052,5054,5050',id) desc;

mysql order field_mysql 使用order by filed,locate和instr自定义排序相关推荐

  1. 和产品争论MySQL底层如何实现order by的,惨败!

    这天风和日丽,小a正在工位上苦练摸鱼技术, 突然接到产品的☎️,又来需求?      只听到产品又开始口若黄河:我需要要查询到city是"上海"的所有人的name,并且还要按nam ...

  2. mysql limit分页_MySQL order by limit 分页数据重复问题

    黑客技术点击右侧关注,了解黑客的世界! Linux编程点击右侧关注,免费入门到精通! 程序员严选甄选正品好物,程序员生活指南! 作者丨猿码道 https://www.jianshu.com/p/544 ...

  3. mysql自定义多选排序,mysql 使用order by field() 自定义排序

    一.MySQL field自定义排序函数的格式 order by field(value,str1,str2,str3,str4,,,,,,strn) 其中value后面的参数自定义,不限制参数个数 ...

  4. mysql union (all) 后order by的排序失效问题解决

    mysql union (all) 后order by的排序失效问题解决 参考文章: (1)mysql union (all) 后order by的排序失效问题解决 (2)https://www.cn ...

  5. MySQL查询时不加order by的时候默认排序规则是什么?

    MySQL查询的时候一般都会加一个order by来保持查出的顺序,但没加的时候就会出现怪异的排序出来. 示例1: id是自增的,可以看出查询结果是按插入顺序排的 怪异的示例2: 跟上边一样,没有任何 ...

  6. mysql分页查询遇到order by发生的血案

    案发现场 业务需求:mysql从一张表中查询数据进行分页暂时,要求按照某字段进行排序. 做开发的同学都觉得这兼职就是小case啦,前端传入分页下标.分页大小.排序字段.排序方式.后端采用order b ...

  7. MySQL高级- group by ,order by 索引优化

    一:索引失效 1. 2.最佳左前缀法则 4. 8. 使用覆盖索引解决这个问题. 二.索引优化 1.ORDER BY 子句,尽量使用Index方式排序,避免使用FileSort方式排序 MySQL支持两 ...

  8. MySQL查询优化之十-ORDER BY优化(ORDER BY Optimization)

    MySQL查询优化之十-ORDER BY优化(ORDER BY Optimization) 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:1295180 ...

  9. mysql “group by ”与order by的研究--分类中最新的内容

    这两天让一个数据查询难了.主要是对group by 理解的不够深入.才出现这样的情况 这种需求,我想很多人都遇到过.下面是我模拟我的内容表 我现在需要取出每个分类中最新的内容 select * fro ...

最新文章

  1. Android.mk 用法介绍
  2. homework-04
  3. 【原创】项目管理杂谈(1):代码评审这点事,元芳你怎么看
  4. uni-app如何取消pages页面的默认返回按钮【autoBackButton属性】
  5. php高版本安装ecshop错误解决方法
  6. 疫苗有效,先抛股票,今日官宣94.5%结果的Moderna高管早有信心
  7. jenkins安装插件一直不动
  8. 自定义按键_DNF手游:策划宣布新增自定义按键布局,期待手游新版本的到来
  9. 利用java求积分(定积分和无穷限积分)
  10. DBN【深度置信网络】【受限玻尔兹曼机深层】详解
  11. URL转码escape() encodeURI() encodeURIComponent()
  12. [命令模式]在游戏开发中的应用
  13. C#中如何生成矢量图
  14. oracle一步一步01
  15. .NET中string[]数组和Liststring泛型的相互转换以及Array类的Sort()方法(转)
  16. 漫谈Java IO之 NIO那些事儿
  17. CSS3 结构性伪类选择器(1)
  18. BZOJ.3489.A simple rmq problem(主席树 Heap)
  19. Gym 100633G Nano alarm-clocks
  20. 电感电容阻抗和公式记录

热门文章

  1. 文件上传到云服务器对象存储oos流程
  2. 《袁老师访谈录》第十九期-【在商言商·思享会】(第一场)“企业如何抓住新一代科技红利”...
  3. C++核心编程(中)
  4. H5案例分享:html5移动开发细微之美
  5. cesium中的飞行动画fly
  6. 【cvpr2022-论文笔记】《L2G: A Simple Local-to-Global Knowledge Transfer .... Semantic Segmentation》
  7. buu-[Zer0pts2020]Can you guess it?
  8. PhotoShop中让索引图片解锁使用
  9. SpringBoot整合银联支付
  10. rss 是什么?有什么用?