最近在使用mysql排序的时候,比如按照sort排序,于是 : select filds from table order by sort asc

null排在前面。

看到同事是这样处理的:IF(ISNULL(sort1),1,0), sort1

默认情况下,mysqlnull算作最小值。如果想要手动指定null的顺序,可以这样处理:

1. 将null强制放在最前(默认就是这样)

SELECT * FROM BGM_LIST ORDER BY if(isnull(SORT),0,1),SORT ASC //null, null, 1,2,3,4

2. 将null强制放在最后

SELECT * FROM BGM_LIST ORDER BY if(isnull(SORT),1,0),SORT ASC //1,2,3,4,null,nullSELECT * FROM BGM_LIST ORDER BY if(isnull(SORT),1,0),SORT DESC // 4,3,2,1,null,null

3. 解释

if(isnull(字段名),0,1),fild为例,它的意思是将该字段根据是否为null值分成两部分,值为null行相当于得到了一个隐含的排序属性0,值为非null的行相当于得到了一个隐含的排序属性1,在排序的时候,先根据这一隐含属性进行升序排列,因为if(isnull(字段名),0,1),fild相当于if(isnull(字段名),0,1),fild asc省略了asc而已,所以自然地,排序字段为null的那些行(隐含排序属性)会在最前。if(isnull(字段名),1,0)反之。

参考:https://www.jianshu.com/p/04b74770d731

mysql排序之if(isnull(字段名),0,1),fild 或者 if(isnull(字段名),1,0),fild相关推荐

  1. php mysql 排序规则_php 数组排序以及按照某个字段排序

    如果你已经使用了一段时间PHP的话,那么,你应该已经对它的数组比较熟悉了--这种数据结构允许你在单个变量中存储多个值,并且可以把它们作为一个集合进行操作. 经常,开发人员发现在PHP中使用这种数据结构 ...

  2. mysql 排序字段 添加索引吗_mysql需要在哪些字段上加索引?

    mysql需要加索引的字段:1.经常出现在Where子句中的字段,特别是大表的字段,应该建立索引:2.经常与其他表进行连接的表,在连接字段上应该建立索引:3.分组字段或者排序字段应该创建索引:4.选择 ...

  3. Mysql数据库(1.表的约束,以及数据表相关操作和字段名的相关操作)

    1.windows10中命令行进入mysql   mysql -u root -p     然后输入数据库的密码即可    MySQL创建表并设置约束 1.1创建表,设置id为主键  (primary ...

  4. MySQL 排序、分页查询、聚合查询

    文章目录 1. 排序 2. 分页查询 3. 聚合查询 3.1 分组聚合 GROUP BY 练习 LeetCode 176. 第二高的薪水 练习 LeetCode 177. 第N高的薪水 练习 Leet ...

  5. mysql编号用什么类型_mysql 之编码配置、引擎介绍、字段操作、数据类型及约束条件...

    数据库的配置 # 通过配置文件统一配置的目的: 统一管理 服务端(mysqld) 客户端(client) 配置了mysqld(服务端)的编码为utf8, 那么再创建的数据库,默认编码都采用utf8. ...

  6. MySQl排序,别名

    一.排序 1.按照关键字排序 ASC:是按照升序进行排序的,是默认的排序方式,即 ASC 可以省略.SELECT 语句中如果没有指定具体的排序方式,则默认按 ASC方式进行排序 DESC:是按降序方式 ...

  7. 死磕数据库系列(二十):MySQL 数据库 DDL、DML、DQL、DCL 语言理论与实践(sql 8.0 版)...

    点关注公众号,回复"1024"获取2TB学习资源! 今天,民工哥带大家一起来学习一下 MySQL 数据库的 DDL.DML.DQL.DCL 这几种语言的理论知识与实践.如有帮助,请 ...

  8. MySQL 排序规则简介

    在日常工作中,对于MySQL排序规则,很少关注,大部分时候都是直接使用字符集默认的排序规则,常常忽视了排序规则的细节问题,了解排序规则有助于更好的理解MySQL字符比较和排序相关的知识 简述 说起排序 ...

  9. mysql 排序后 下一条记录_Mysql如何使用order by工作

    日常开发中,我们经常要进行字段的排序,但是我们大多不知道排序是如何执行的,今天我们就说说order by 的执行逻辑, CREATE TABLE `t` (`id` int(11) NOT NULL, ...

  10. mysql 排序查询核心

    文章目录 #进阶3:排序查询 /* 语法: select 查询列表 from 表名 [where 筛选条件] order by 排序的字段或表达式; 特点: 1.asc代表的是升序,可以省略 desc ...

最新文章

  1. 循环获取结构体中的健名与值的实现
  2. 我说分布式事务之最大努力通知型事务
  3. twitter storm学习 - 安装部署问题汇总
  4. php 二叉树 与赫夫曼树
  5. Python之PIL之绘图:基于Python的PIL库绘制各种图形、添加文字等
  6. 我们可以无损放大一个Transformer模型吗?
  7. 如何设计良好的viewcontroller
  8. Xampp 配置出现403无法访问
  9. 聚合丁苯橡胶(SSBR)行业调研报告 - 市场现状分析与发展前景预测
  10. Android -- Messager与Service
  11. iOS开发-类簇(Class Cluster)
  12. Mac系统镜像文件(Monterey-Sierra,加部分OS X)
  13. 【区块链108将】区块链追溯产品起源,让每一个产品都是放心产品
  14. SIM卡中的ef文件介绍
  15. Excel - 斜线表头制作
  16. Navicat报错:2003 - Can‘t connect to MySQL server on ‘xxx‘ (10060 “Unknown error“)
  17. 拯救者y7000p进入BIOS
  18. 多协议直播发布工具和接收工具
  19. Python问题:FileNotFoundError: [WinError 2] 系统找不到指定的文件。(已解决)
  20. 移动硬盘插入无显示,不用格式化-修复方法

热门文章

  1. linux服务器搭建开源蝉道10步走
  2. UML核心元素之参与者
  3. 非阿里云域名如何设置DNS解析
  4. Word如何转换成PDF格式
  5. 在Word中将A3大小的卷子拆成A4大小来打印的方法
  6. 全球及中国石油市场十四五发展走势及竞争格局动态分析报告2021年版
  7. 数学几何定理 与 13个基本不等式
  8. java 根据助记词导入ETH钱包账户
  9. wps永久关闭热点功能
  10. Java 后台做图片压缩的两种方法