MYSQL自定义排序
首先说明这里有三个函数(order by field,ORDER BY INSTR,ORDER BY locate)
原表:
id user pass
1 aaa aaa
2 bbb bbb
3 ccc ccc
4 ddd ddd
5 eee eee
6 fff fff
下面是我执行后的结果:
SELECT * FROM `user` order by field(2,3,5,4,id) asc
id user pass
1 aaa aaa
3 ccc ccc
4 ddd ddd
5 eee eee
6 fff fff
2 bbb bbb
根据结果分析:order by field(2,3,5,4,1,6) 结果显示顺序为:1 3 4 5 6 2
SELECT * FROM `user` order by field(2,3,5,4,id) desc
id user pass
2 bbb bbb
1 aaa aaa
3 ccc ccc
4 ddd ddd
5 eee eee
6 fff fff
根据结果分析:order by field(2,3,5,4,1,6) 结果显示顺序为:2 1 3 4 5 6
SELECT * FROM `user` ORDER BY INSTR( '2,3,5,4', id ) ASC
id user pass
1 aaa aaa
6 fff fff
2 bbb bbb
3 ccc ccc
5 eee eee
4 ddd ddd
根据结果分析:order by INSTR(2,3,5,4,1,6) 结果显示顺序为:1 6 2 3 5 4
SELECT * FROM `user` ORDER BY INSTR( '2,3,5,4', id ) DESC
id user pass
4 ddd ddd
5 eee eee
3 ccc ccc
2 bbb bbb
1 aaa aaa
6 fff fff
根据结果分析:order by INSTR(2,3,5,4,1,6) 结果显示顺序为:4 5 3 2 1 6
SELECT * FROM `user` ORDER BY locate( id, '2,3,5,4' ) ASC
id user pass
1 aaa aaa
6 fff fff
2 bbb bbb
3 ccc ccc
5 eee eee
4 ddd ddd
根据结果分析:order by locate(2,3,5,4,1,6) 结果显示顺序为:1 6 2 3 5 4
SELECT * FROM `user` ORDER BY locate( id, '2,3,5,4' ) DESC
id user pass
4 ddd ddd
5 eee eee
3 ccc ccc
2 bbb bbb
1 aaa aaa
6 fff fff
根据结果分析:order by locate(2,3,5,4,1,6) 结果显示顺序为:4 5 3 2 1 6
如我想要查找的数据库中的ID顺序首先是(2,3,5,4)然后在是其它的ID顺序,你首先要把他降序排即(4 5 3 2),然后在 SELECT * FROM `user` ORDER BY INSTR( '4,5,3,2', id ) DESC limit 0,10 或用 SELECT * FROM `user` ORDER BY locate( id, '4,5,3,2' ) DESC 就得到你想要的结果了。
id user pass
2 bbb bbb
3 ccc ccc
5 eee eee
4 ddd ddd
1 aaa aaa
6 fff fff
转载于:https://www.cnblogs.com/wangbin/archive/2011/02/12/1951810.html
MYSQL自定义排序相关推荐
- MySQL自定义排序函数FIELD()
转载自:https://blog.csdn.net/lxz3000/article/details/6173873 MySQL可以通过field()函数自定义排序 格式: field(value,st ...
- mysql 自定义排序函数_MySQL自定义排序函数FIELD()
MySQL可以通过field()函数自定义排序,格式:field(value,str1,str2,str3,str4),value与str1.str2.str3.str4比较,返回1.2.3.4,如遇 ...
- mysql自定义排序以及优化like模糊查询
**1. 自定义排序函数FIELD()**SELECT id,username,city FROM sy_user order byFIELD(city,'郑州', '开封', '平顶山','洛阳', ...
- MYSQL 自定义排序
在mysql order by排序中,大多数情况下仅使用默认排序规则就够了:字符串按字典顺序,数字按大小等等.可有时候,某个字段是有自身业务含义的,比如 type(1,2,3)可能表示早/中/晚,如果 ...
- mysql order field_mysql 使用order by filed,locate和instr自定义排序
mysql 使用order by filed,locate和instr自定义排序 发布时间:2018-05-22 11:41, 浏览次数:3094 , 标签: mysql自定义排序 问题描述 大家都知 ...
- mysql自动排序_mysql自动排序
最近在写一个项目,在项目中有一个要求是按照指定的用户指定顺序,对数据进行排序!网上百度了一下,感觉还是挺有用的,但是不是很清楚工作原理! mysql的field()函数 filed(s,s1,s2.. ...
- 数据库中自定义排序规则,Mysql中自定义字段排序规则,Oracle中自定义字段排序规则,decode函数的用法,field函数的用法
数据库中自定义排序 场景:有一张banner表,表中有一个status字段,有0, 1, 2三个状态位,我想要 1,0,2的自定义排序(这里是重点),然后再进行之上对sequence字段进行二次排序( ...
- mysql自定义两个条件排序_使用MySQL中的两个不同列进行自定义排序?
为此,将ORDER BY子句与CASE语句一起使用.让我们首先创建一个表-mysql> create table DemoTable1610 -> ( -> Marks int, - ...
- mysql按中文拼音字母排序_解析MySQL按常规排序、自定义排序和按中文拼音字母排序的方法...
MySQL常规排序.自定义排序和按中文拼音字母排序,在实际的SQL编写时,我们有时候需要对条件集合进行排序.下面给出3种比较常用的排序方式,一起看看吧 MySQL常规排序.自定义排序和按中文拼音字母排 ...
最新文章
- Qt 工程 pro文件
- MapReduce基础开发之四参数传递
- linux+用户的shell,linux更换用户_更改linux用户登录shell的方法
- 根据窗口名获取进程句柄和PID
- Pytorch MNIST直接离线加载二进制文件到pytorch
- Confluent Platform 3.0支持使用Kafka Streams实现实时的数据处理(最新版已经是3.1了,支持kafka0.10了)...
- 为什么要学 Flink,Flink 优势在哪?
- 2018.09.19python学习第七天part1
- 好评率超高的几个硬核公众号,99%的程序员都关注了!
- 无连续重复的随机算法
- liunx安装和部署nacos
- golang使用Nsq
- VS2017 CUDA编程学习实例3:CUDA实现直方图统计
- Ch6 深度前馈神经网络
- android应用程序耗电,Android的十大耗电量应用程序,在软件中排名第一
- 基于单片机的加油机系统
- 各种手机的User-Agent
- 20 步打造完美网站布局设计
- 如何在头条做好影视解说自媒体?
- 制作水晶报表基本步骤
热门文章
- c++ try_catch throw
- mtc: manufacturing technology center
- HOMEBREW安装之后需要需要把他安装到路径之中
- U3D笔记11:47 2016/11/30-15:15 2016/12/19
- linux三剑客之awk (用于个人学习以及回顾)
- 【科普】OSS存储的基本操作
- java-第七章-数组-循环输出
- 《敏捷企业》作者访谈录
- 从零开始山寨Caffe·壹:仰望星空与脚踏实地
- 用NFS挂载root出现:NFS: failed to create MNT RPC client, status=-101(-110)