当前位置:首页 > SQL > 正文内容

mysql 自定义排序,mysql 自定义字段排序,mysql 强制自定义排序

高老师7年前 (2018-05-30)SQL2184

通常我们使用自定义排序的语法是:ORDER BY FIELD(`字段名称`, 值1, 值2, 值3),但是如果我想强制值1到值3永远在前面,这个语法是满足不了的.

(1).基本的会员数据表:

id      name    age
1	zhang	39
2	gao	19
3	chen	21
4	lin	40
5	han	25

(2).现在的需求是age为25,21,19永远排在最前面,理想的写法是:(我以为会很理想)

SELECT * FROM member ORDER BY FIELD(age,25,21,19)
id      name    age
1	zhang	39
4	lin	40
5	han	25
3	chen	21
2	gao	19

虽然结果的确25,21,19是在一起排序,但是39,40却还在前面。

(3).正确的写法是:

SELECT * FROM member  ORDER BY  age IN(25,21,19) DESC, FIELD(age,25,21,19)
id      name    age
5	han	25
3	chen	21
2	gao	19
1	zhang	39
4	lin	40

一般不会遇到这么狗屎的写法,记录下来,免得有人入坑。

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/316.html

分享给朋友:

“mysql 自定义排序,mysql 自定义字段排序,mysql 强制自定义排序” 的相关文章

MySql基本的建表原则

MySql基本的建表原则

1.定长和变长的分离 如int,char,time所占字节是固定的字段放在一张表 如varchar,text所占字节不确定的字段放在一张表中2.常用字段和不常用字段进行分离,根据查询频率来设计3.一对多的关联表可以添加冗余字段,如商品分类表 和商品表 ,在首页中需要显示每个分类商...

mysql group分组排序

mysql group分组排序

下面的是商品数据表,id是主键,catename是分类,titile是标题,price是价格,现在要求计算每种分类下的商品平均价格.id     catename       &n...

 mysql视图有什么用, mysql视图的学习

mysql视图有什么用, mysql视图的学习

我们从一个结果集中查询信息一般都是select *  from (select...),每次都要编写from (select...)非常麻烦,于是我们将结果集保存起来,这就是视图的便利。创建视图的命令为:create   view  &nb...

mysql常用函数

mysql常用函数

1.floor(x)返回小于x的整数,向下取整,用法,商品的价格是浮点型的,需要向下取整 eg:select id,title,floor(price)  from  shopgoods2.rand()返回0-1之间的随机数 select rand() select rand()...

 mysql count 性能优化,mysql count(*)优化

mysql count 性能优化,mysql count(*)优化

1.很多人认为count查询非常快,但是在加上筛选条件那就是未必的了!测试:user表中4000w数据(1).SELECT  count(*)   from user;   用时0.00s (2).SELECT...

mysql diff,mysqldiff 安装,mysqldiff 用法

mysql diff,mysqldiff 安装,mysqldiff 用法

项目和第三方系统对接,由于第三方开发人员属于兼职,数据库结构不一致的问题只能我来处理。此处文章用本地模拟演示。数据库资料:1号服务器:  账号root 密码root  IP:127.0.0.1  数据库名称:data1 2号服务器...