mysql order field_mysql 使用order by filed,locate和instr自定义排序
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自定义排序相关推荐
- 和产品争论MySQL底层如何实现order by的,惨败!
这天风和日丽,小a正在工位上苦练摸鱼技术, 突然接到产品的☎️,又来需求? 只听到产品又开始口若黄河:我需要要查询到city是"上海"的所有人的name,并且还要按nam ...
- mysql limit分页_MySQL order by limit 分页数据重复问题
黑客技术点击右侧关注,了解黑客的世界! Linux编程点击右侧关注,免费入门到精通! 程序员严选甄选正品好物,程序员生活指南! 作者丨猿码道 https://www.jianshu.com/p/544 ...
- mysql自定义多选排序,mysql 使用order by field() 自定义排序
一.MySQL field自定义排序函数的格式 order by field(value,str1,str2,str3,str4,,,,,,strn) 其中value后面的参数自定义,不限制参数个数 ...
- mysql union (all) 后order by的排序失效问题解决
mysql union (all) 后order by的排序失效问题解决 参考文章: (1)mysql union (all) 后order by的排序失效问题解决 (2)https://www.cn ...
- MySQL查询时不加order by的时候默认排序规则是什么?
MySQL查询的时候一般都会加一个order by来保持查出的顺序,但没加的时候就会出现怪异的排序出来. 示例1: id是自增的,可以看出查询结果是按插入顺序排的 怪异的示例2: 跟上边一样,没有任何 ...
- mysql分页查询遇到order by发生的血案
案发现场 业务需求:mysql从一张表中查询数据进行分页暂时,要求按照某字段进行排序. 做开发的同学都觉得这兼职就是小case啦,前端传入分页下标.分页大小.排序字段.排序方式.后端采用order b ...
- MySQL高级- group by ,order by 索引优化
一:索引失效 1. 2.最佳左前缀法则 4. 8. 使用覆盖索引解决这个问题. 二.索引优化 1.ORDER BY 子句,尽量使用Index方式排序,避免使用FileSort方式排序 MySQL支持两 ...
- MySQL查询优化之十-ORDER BY优化(ORDER BY Optimization)
MySQL查询优化之十-ORDER BY优化(ORDER BY Optimization) 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:1295180 ...
- mysql “group by ”与order by的研究--分类中最新的内容
这两天让一个数据查询难了.主要是对group by 理解的不够深入.才出现这样的情况 这种需求,我想很多人都遇到过.下面是我模拟我的内容表 我现在需要取出每个分类中最新的内容 select * fro ...
最新文章
- Android.mk 用法介绍
- homework-04
- 【原创】项目管理杂谈(1):代码评审这点事,元芳你怎么看
- uni-app如何取消pages页面的默认返回按钮【autoBackButton属性】
- php高版本安装ecshop错误解决方法
- 疫苗有效,先抛股票,今日官宣94.5%结果的Moderna高管早有信心
- jenkins安装插件一直不动
- 自定义按键_DNF手游:策划宣布新增自定义按键布局,期待手游新版本的到来
- 利用java求积分(定积分和无穷限积分)
- DBN【深度置信网络】【受限玻尔兹曼机深层】详解
- URL转码escape() encodeURI() encodeURIComponent()
- [命令模式]在游戏开发中的应用
- C#中如何生成矢量图
- oracle一步一步01
- .NET中string[]数组和Liststring泛型的相互转换以及Array类的Sort()方法(转)
- 漫谈Java IO之 NIO那些事儿
- CSS3 结构性伪类选择器(1)
- BZOJ.3489.A simple rmq problem(主席树 Heap)
- Gym 100633G Nano alarm-clocks
- 电感电容阻抗和公式记录
热门文章
- 文件上传到云服务器对象存储oos流程
- 《袁老师访谈录》第十九期-【在商言商·思享会】(第一场)“企业如何抓住新一代科技红利”...
- C++核心编程(中)
- H5案例分享:html5移动开发细微之美
- cesium中的飞行动画fly
- 【cvpr2022-论文笔记】《L2G: A Simple Local-to-Global Knowledge Transfer .... Semantic Segmentation》
- buu-[Zer0pts2020]Can you guess it?
- PhotoShop中让索引图片解锁使用
- SpringBoot整合银联支付
- rss 是什么?有什么用?