问题描述

大家都知道, 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`, '李四', '孙六', '张三', '王五')

以上这篇MySQL 按指定字段自定义列表排序的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

mysql按某个条件升序_问题描述大家都知道, MySQL 中按某字段升序排列的 SQL 为 (以 id 为例,下同):SELECT * FROM `MyTable` WHERE...相关推荐

  1. mysql多组合条件查询_多条件组合查询

    // 条件(criteria) 分别为 cname, gender, cellphone, email public List query(Customer criteria){ try{ // 给出 ...

  2. mysql查询优化器源码_源码下载网浅析MySQL 查询优化器

    源码下载网浅析MySQL 查询优化器 时间:2019-01-18 17:45作者:网友投稿 优化器(The Optimizer) 这篇描述MySQL查询优化器的工作原理.MySQL查询优化器主要为执行 ...

  3. mysql安装无效安装源_(0.2.4)Mysql安装——yum源安装

    转自:https://www.cnblogs.com/jimboi/p/6405560.html 1.下载好对应版本的yum源文件 2.安装用来配置mysql的yum源的rpm包 可以用: yum r ...

  4. mysql和oracle冲突吗_三分钟带你分清MySQL 和Oracle之间的误区

    原标题:三分钟带你分清MySQL 和Oracle之间的误区 来自:华为云开发者社区 摘要:MySQL和Oracle,别再傻傻分不清. MySQL 和Oracle 在开发中的使用是随处可见的,那就简单去 ...

  5. php mysql 插入多条数据_雷林鹏分享:PHP MySQL 插入多条数据

    使用 MySQLi 和 PDO 向 MySQL 插入多条数据 mysqli_multi_query() 函数可用来执行多条SQL语句. 以下实例向 "MyGuests" 表添加了三 ...

  6. mysql数据库的环境搭建_数据库学习(一)MySql环境搭建

    一.下载安装包并解压 官网下载地址: https://dev.mysql.com/downloads/windows/installer/ 记住解压目录 二.设置环境变量 打开计算机--属性--高级系 ...

  7. mysql触发器主机自动增长_三分钟带你分清 Mysql 和 Oracle 之间的误区

    摘要:Mysql 和Oracle,别再傻傻分不清. mysql 和Oracle 在开发中的使用是随处可见的,那就简单去了解一下这俩款火的不行的数据库. 本质区别: Oracle数据库是一个对象关系数据 ...

  8. mysql的utf-8怎么用_记住:永远不要在MySQL中使用UTF-8

    最近我遇到了一个bug,我试着通过Rails在以"utf8"编码的MariaDB中保存一个UTF-8字符串,然后出现了一个离奇的错误: Incorrect string value ...

  9. mysql数据表添加列_如何将列添加到MySQL表

    mysql数据表添加列 The command add column is used to add an additional column to any given MySQL table. 命令a ...

最新文章

  1. mac系统添加VSCode到右键菜单(转)
  2. Java 分布式 RPC 框架性能大比拼,Dubbo 排第几?
  3. 【图解数据结构】二叉查找树
  4. java socket windows linux,socket在windows下和linux下的区别
  5. 谁的代码注释我都不服,就服你的!
  6. 看完这篇文章,我再也不怕面试官问「垃圾回收」了...
  7. 2年6个月11天,外包到阿里的修仙之路
  8. 你扔掉的旧衣服撑起了一个千亿市场?
  9. pytorch学习笔记(三十七):Adam
  10. 我们——程序员应该关注,功能?设计?
  11. 一个完整的计算器c语言源代码,分享一个C语言的计算器源代码
  12. MCS-51单片机指令系统总结(自学笔记)
  13. 小白如何做一个Python人工智能语音助手
  14. 梁宁-产品思维30讲-痛点、爽点和痒点都是产品机会
  15. ubuntu gnome桌面农历日历显示
  16. Gremlin 基础知识
  17. 5G到底什么时候来,它究竟能给我们带来什么?
  18. 无线调试和unable to connect to 192.168.2.245:5555由于目标计算机积极拒绝,无法连接。 (10061)
  19. golang中的xg作用
  20. 看10遍教程不如写一遍代码--HTML入门demo小结

热门文章

  1. 缓冲区溢出漏洞_缓冲区溢出漏洞简介
  2. 数据递归查询的两种实现方法
  3. P1458 [USACO2.1]顺序的分数 Ordered Fractions
  4. 查看jvm进程cpu火焰图工具
  5. edge播放视频HTML5黑屏,Win10 edge浏览器播放视频黑屏解决方法
  6. 论文阅读5 Cv-CapsNet:Complex-Valued Capsule Network
  7. 南阳oj入门题-蛇形填数
  8. 通俗易懂的讲讲什么是中间件?
  9. 最新海洋CMS(海洋视频内容管理系统)V12.6版
  10. python全栈工程师薪水_Python工程师薪资待遇是多少?老男孩Python周末班