ORDER BY 子句可以使用FIELD() 函数为列中的值定义自定义的排序顺序。

例如下表:

+----------------+
| orders         |
+----------------+
| orderNumber    |
| orderDate      |
| requiredDate   |
| shippedDate    |
| status         |
| comments       |
| customerNumber |
+----------------+

如果要按以下顺序对订单状态进行排序:

  • In Process
  • On Hold
  • Canceled
  • Resolved
  • Disputed
  • Shipped

则可以使用 FIELD 函数将这些值映射到数值列表,并使用这些数字进行排序:

SELECTorderNumber, status
FROMorders
ORDER BY FIELD(status,'In Process','On Hold','Cancelled','Resolved','Disputed','Shipped');

运行结果:

+-------------+------------+
| orderNumber | status     |
+-------------+------------+
|       10420 | In Process |
|       10421 | In Process |
|       10422 | In Process |
|       10423 | In Process |
|       10424 | In Process |
|       10425 | In Process |
|       10334 | On Hold    |
|       10401 | On Hold    |
...

MySQL ORDER BY 使用自定义排序顺序相关推荐

  1. mysql 如何自定义排序_在MySQL中实现自定义排序顺序

    要在MySQL中实现自定义排序顺序,您需要使用ORDER BY FIELD().让我们首先创建一个表-create table DemoTable -> ( -> Designation  ...

  2. Mysql学习-group by with rollup 函数 和order by field()自定义排序函数

    今天看到同事的代码,学习到了 group by with rollup 函数 和order by field()自定义排序函数 group by with rollup 函数 文章地址 https:/ ...

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

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

  4. java 自定义对象 排序,使用自定义排序顺序对对象的ArrayList进行排序

    问题 我希望为我的地址簿应用程序实现一个排序功能. 我想排序anArrayList contactArray.Contact是一个包含四个字段的类:名称,家庭电话号码,手机号码和地址.我想排序name ...

  5. c++ sort 从大到小排序_算法的艺术:MySQL order by对各种排序算法的巧用

    在 [精华]洞悉MySQL底层架构:游走在缓冲与磁盘之间 这篇文章中,我们介绍了索引树的页面怎么加载到内存中,如何淘汰,等底层细节.这篇文章我们从比较宏观的角度来看MySQL中关键字的原理.本文,我们 ...

  6. mysql order by 多字段排序

    工作中需用到order by 后两个字段排序,但结果却产生了一个Bug,以此备录. [1]复现问题场景 为了说明问题,模拟示例数据库表students,效果同实例. 如下语句Sql_1: 1 SELE ...

  7. MySQL order by的不同排序规则

    explain语句执行的结果中,Extra项中含有Using filesort表示需要排序,MySQL会给每个线程分配一块内存用于排序,称为sort_buffer. 全字段排序 全字段排序在内存中进行 ...

  8. MySQL ORDER BY IF() 条件排序

    在做sqlzoo的时候,碰到一个SQL的排序问题,他把符合条件的单独几行,可以放在查询结果的开始,或者查询结果的尾部 通过的方法就是IN语句(也可以通过IF语句) 自己做了个测试,如下,这个是表的所有 ...

  9. java 对象自定义排序_java – 使用自定义排序顺序对对象的ArrayL...

    这是一个关于订购对象的教程: 虽然我会给出一些例子,但我仍然建议你阅读它. 有多种方法可以对ArrayList进行排序.如果你想定义一个自然(默认)排序,那么你需要让联系人实现Comparable.假 ...

最新文章

  1. 剑指Offer——平衡二叉树
  2. 半编译半解释的Java语言和C++、Python等语言的区别
  3. android-async-http 源码分析
  4. python基础开发环境_Python基础教程,第一讲,开发环境搭建
  5. 从CLR GC到CoreCLR GC看.NET Core为云而生
  6. spring事务的传播属性
  7. MyBatis的概述及使用
  8. Percona 成为 MariaDB 基金会铜牌赞助商
  9. golang学习和使用经验总结
  10. 六石编程学:功能要定期测试
  11. git不小心删除文件后,如何获取?
  12. 哈希加密之高级加密自定义Key的用法(Python3.X)
  13. java iv不是内部命令_java – 解密错误:“no iv set when one expected”
  14. 车牌识别对于智慧城市的重要性
  15. VS2013各版本序列号
  16. android banner 不轮播,使用Android Banner来设置一个轮播图
  17. Found multiple @SpringBootConfiguration annotated classes
  18. 区分QA和QC, Verification和Validation
  19. openGL之API学习(五十五)凹凸贴图技术
  20. oracle bam教程,Oracle BAM原理简介

热门文章

  1. 帮我写一个C++程序,输入一个数,输出这个数的平方
  2. 亚马逊AWS:云计算目前仍然是蓝海市场
  3. 在中国,40岁程序员是如何工作的?
  4. 2007操作系统大全 (雨林木风、深度、电脑公司、jujumao、番茄花园、萝卜家园...)
  5. 基于MATLAB对系统的串联滞后校正
  6. 悼念512汶川大地震遇难同胞——来生一起走(dfs+打表)
  7. L1-009 N个数求和 (20分)(分数求和)
  8. 时光易逝,岁月荏苒----2019年自我总结
  9. 计算机科学与技术的班徽设计,地球科学与技术学院 2017级班级班徽创意设计大赛获奖公示...
  10. 全国青少年软件编程(Scratch)等级考试一级真题——2022.6