mysql 预留一个自定义字段_MySQL 按指定字段自定义列表排序 | DevOps
问题描述
大家都知道, 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`, '李四', '孙六', '张三', '王五')
参考资料
来源:http://www.php42.com/index.php/database/35-sql/237-mysql-order-by-list
mysql 预留一个自定义字段_MySQL 按指定字段自定义列表排序 | DevOps相关推荐
- mongo 查询显示字段_MongoDB查询指定字段(field)返回指定字段的方法
使用MongoDB的时候需要只查询指定的字段进行返回,也就是类似mysql里面的 SELECT id,name,age 这样而不是SELECT *.在MongoDB里面映射(projection)声明 ...
- mysql查询字段不为数字_MySQL查询指定字段不是数字与逗号的sql
核心sql语句 MySQL查询不包含数字的语句: SELECT * FROM test WHERE `name` regexp '[^0-9]'; MySQL查询纯数字的语句: SELECT * FR ...
- mysql在线增加字段_MySQL在线加字段实现原理
作者:vinchen 腾讯互娱内部维护了一个TMySQL分支,基于官方5.5.24,实现了类似于Oracle 11g的快速加字段功能.该功能通过扩展存储格式来实现,原理类似于Oracle 11g,以下 ...
- mysql如何加个字段_mysql如何添加字段 | mysql添加字段
alter table `sysinfo` add `fact_num` int(11); 添加字段并设置默认值: alter table `channel` add `needrestart` in ...
- MySQL的一个表最多可以有多少个字段
原文:http://mp.weixin.qq.com/s?__biz=MzAwMjkyMjEwNg==&mid=2247483785&idx=1&sn=1d90a44915d1 ...
- mysql自增字段_MySQL自增字段的常用语句
学习MySQL数据库,MySQL自增字段是最基础的部分之一,下面为您介绍一些MySQL自增字段的常用语句,希望对您学习MySQL自增字段能些许帮助. 1.创建表格时添加: create table t ...
- mysql 中 一个汉字吗_MySQL 中一个汉字占多少存储?
MySQL 中一个汉字占多少存储? 1. 一个汉字占多少长度与编码有关: UTF8: 一个汉字 = 3 个字节 GBK: 一个汉字 = 2 个字节 2.varchar(n)能存储几个汉字? varch ...
- mysql添加时间默认值_mysql 创建时间字段添加默认值
在创建时间字段的时候 例如:字段 create_time 默认值可以设置为CURRENT_TIMESTAMP插入数据时候会自动添加时间,默认值为当前时间 update_time 默认值可以设置 ...
- mysql自增列语句_MySQL自增字段的常用语句
学习MySQL数据库,MySQL自增字段是最基础的部分之一,下面为您介绍一些MySQL自增字段的常用语句,希望对您学习MySQL自增字段能些许帮助. 1.创建表格时添加: create table t ...
最新文章
- 找工作实用书《LeetCode 题解》(附pdf)
- 第八周项目三-指向学生类的指针
- 阿里云Redis (安装包安装篇)
- 【JAVA编码】 JAVA字符编码系列二:Unicode,ISO-8859,GBK,UTF-8编码及相互转换
- hibernate session的load和get方法
- linux ping不允许的操作,linux – ping:sendmsg:不允许操作(有时)
- 使用 Github Actions artifact 在 workflow job 之间共享数据
- HTML5获取地理位置定位信息
- 计算机科学与技术文理兼收吗,哪些专业是文理兼收的专业?
- SAP-BW数据仓库增量更新
- HDU1492/The number of divisors(约数) about Humble Numbers
- 通过bat文件批量判断url地址的状态
- 查普曼-科莫高洛夫方程Chapman–Kolmogorov equation
- flutter 使用阿里图标
- Web前端工程师工资逐年增长,背后有哪些因素?
- Matlab导入数据(一定有用!!)
- JTF的Unable to invoke request异常或Unable to find a MessageBodyReader of content-type application..异常详解
- 智能家居APP的竞品分析报告(米家)
- Springboot源码解读
- 使用MQTTX 建立连接报Error: Connection refused: Not authorized 未授权