MySQL中order by语句对null字段的排序
来源:互联网 发布:仓库出入库软件 编辑:程序博客网 时间:2024/05/17 06:48
MySQL中order by语句对null字段的排序
转载地址:http://www.cnblogs.com/Wcy100/p/5376399.html
默认情况下,MySQL将null算作最小值。如果想要手动指定null的顺序,可以使用:
1.将null强制放在最前:
if(isnull(字段名),0,1) asc //asc可以省略
2.将null强制放在最后
if(isnull(字段名),0,1) dsc
if(isnull(字段名),1,0) asc //asc可以省略
对于这种使用方式的理解:
以if(isnull(字段名),0,1)为例,它的意思是将该字段根据是否为null值分成两部分,值为null行相当于得到了一个隐含的排序属性0,值为非null的行相当于得到了一个隐含的排序属性1,在排序的时候,先根据这一隐含属性进行升序排列,因为if(isnull(字段名),0,1)相当于if(isnull(字段名),0,1) asc省略了asc而已,所以自然地,排序字段为null的那些行(隐含排序属性)会在最前。
对于将null强制放在最后的语句的理解以此类推。
下面在MySQL 5.6上做一个测试:
测试的表的结构如下:
create table test(id int primary key auto_increment,num int);
表中已经有6条数据,分别为:
1.执行 :
select * from test order by num;
结果如下:
2.执行:
select * from test order by num desc;
结果如下:
第1、2步结果显示:默认情况下null为最小。
3.执行:
select * from test order by if(isnull(num),0,1),num;
结果如下:
4.执行:
select * from test order by if(isnull(num),0,1),num desc;
结果如下:
第3、4步结果显示:通过if(isnull(num),0,1),不管后面的num字段是升序还是降序,null值都被强制指定在最前。
5.执行:
select * from test order by if(isnull(num),1,0),num;
结果如下:
6.执行:
select * from test order by if(isnull(num),1,0),num desc;
结果如下:
第5、6步结果显示:通过if(isnull(num),1,0) ,不管后面的num字段是升序还是降序,null值都被强制指定在最后。
- MySQL中order by语句对null字段的排序
- MySQL中order by语句对null字段的排序
- MySQL中order by语句对null字段的排序
- order by 语句对null字段的默认排序
- order by 语句对null字段的默认排序
- order by 语句对null字段的默认排序
- order by 语句对null字段的默认排序
- order by 语句对null字段的默认排序
- order by 语句对null字段的默认排序
- sql中order by对null值的排序
- SQL语句中order by两个字段同时排序
- mysql数据库order by语句 null 处理
- sql语句中order by 多个字段同时排序的应用
- row_number () over(partition by order by) 在 impala 和 hive 中的对NULL排序的问题
- [Mysql] MySQL数据库中 不得不用到的Order by语句
- mysql distinct和order by 一起用时,order by的字段必须在select中
- order by后多个字段的排序
- SQL语句order by两个字段同时排序。
- 找出以abc为前缀、中缀、后缀的词
- poj3267 The Cow Lexicon (dp)
- 【剑指offer-解题系列(47)】孩子们的游戏(圆圈中最后剩下的数)
- Codeforces 814C-An impassioned circulation of affection
- Android中对Log日志文件的分析 (ANR重点,具体案例详细分析)
- MySQL中order by语句对null字段的排序
- dedecms织梦模板的首页模板怎么修改?
- VIM复制粘贴操作
- Android创建 不输入内容的常见对话框,工具类
- Java有没有goto
- (2)时间最优PID控制
- 顺时钟打印矩阵
- Android 调用系统相机和图片
- Plug-in 编辑器菜单