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`, '李四', '孙六', '张三', '王五')
转载于:https://www.cnblogs.com/shihao/archive/2011/09/01/2162116.html
MySQL 按指定字段自定义列表排序相关推荐
- mysql 预留一个自定义字段_MySQL 按指定字段自定义列表排序 | DevOps
问题描述 大家都知道, MySQL 中按某字段升序排列的 SQL 为 (以 id 为例, 下同): SELECT * FROM `MyTable` WHERE `id` IN (1, 7, 3, 5) ...
- mysql将字符串字段转为数字排序或比大小
SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC ; SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID ...
- Mysql字符串截取 mysql将字符串字段转为数字排序或比大小
SELECT * FROM Student WHERE 1 = 1 ORDER BY -ID DESC ; SELECT * FROM Student WHERE 1 = 1 ORDER BY (ID ...
- mysql 查询指定字段数据_MySQL使用select语句查询指定表中指定列(字段)的数据
本文介绍mysql数据库中执行select查询语句,查询指定列的数据,即指定字段的数据. 再来回顾一下sql语句中的select语句的语法: select 语句的基本语法: select from w ...
- mysql去除指定字段里的最后一个字符
mysql小知识: 前言:在工作时,发现之前采集的数据保存路径有问题.错误如下: PDF\000003\2023\1\10.1021@j2c10916.pdf\ 相信大家能看懂,后面多了个\杠,正常路 ...
- mysql 按照指定字段的指定数据进行排序 filed函数
filed函数 filed(coulmn,str1,str2,str3-) tableA中有某一列columA,该列的值包含(0,1,2,3,4,5) 当前的需求为查询结果不包含3和5,且按2,1, ...
- MySQL查询指定字段
MySQL,可以在SELECT语句的字段列表中指定,要查询的字段. SELECT 字段名1,字段名2,-- FROM 表名: 查询student表中,name字段和gender字段的数据 注意,如果在 ...
- mysql orderby 指定值_首先在MySQL中指定字段值ORDER BY
要先在MySQL中按特定字段值排序,请使用ORDER BY FIELD().让我们首先创建一个表-mysql> create table DemoTable849(Color varchar(1 ...
- mysql 替换函数replace()实现mysql替换指定字段中的字符串
update table_name field_name = REPLACE(field_name,"from_str ","to_str ") where ...
最新文章
- ArrayList源码学习
- html语言字体是否依赖客户端,【前端面试】HTML5+CSS3初级面试1
- hive 调优(一)coding调优
- webpack 从 0 到 1 构建 vue
- vue问题四:富文本编辑器上传图片
- 配置修改Nginx支持 PATHINFO
- Windows下svn服务器安装
- 《推荐系统实战(二)》音乐推荐系统(数据清洗、召回、排序)
- pthread_create()在C和C++使用区别
- 无法启动此程序 因为计算机中丢失hypertrm.dll,开机弹出找不到HYPERTRM.dll
- 【vue源码工程阅读1:下载源码】认识工程并打包
- 小白windows内网离线部署宝塔面板
- HRBUST1313 火影忍者之~静音
- 【电子存证】互联网企业存证需求与痛点
- 2021ASC超算竞赛QuEST配置与实战(量子计算)
- 美团技术总结:Java中9种常见的CMS GC问题分析与解决
- 美国搜索市场之战 微软终于战胜雅虎
- AngularJs ng-options
- 周易正易 (2001刊行本影印_易經大意)
- 常用的python库
热门文章
- codeforce 1311 C. Perform the Combo 前缀和
- 图论--最短路-- Dijkstra模板(目前见到的最好用的)
- 【Ubuntu16.04-opencv3.4.0-FDDB Evaluation】评测代码使用中遇到对‘cvxxx’未定义的引用问题
- PHP-ExcelReader
- C#中的is、as及转换
- Windows7上安装TensorFlow——基于Docker镜像
- Makefile学习资料及书籍推荐
- 我以为信用卡多就是好事,谁知道……
- Xilinx_ISE和ModelSim的联合使用方法 / 从Xilinx ISE 14.7启动ModelSim时遇到的问题
- android 清空所有控件,如何清空android ListView控件的内容