Heim >Datenbank >MySQL-Tutorial >mysql中null值的排序问题分析_MySQL

mysql中null值的排序问题分析_MySQL

WBOY
WBOYOriginal
2016-06-01 13:36:061194Durchsuche

bitsCN.com

mysql中null值的排序问题分析

 

如下表t_user: 

name age

zhangsan 1

lisi NULL

wangwu 2

执行一下sql: 

Sql代码  

select * from t_user order by age;  

 

name age

lisi NULL

zhangsan 1

wangwu 2

 

实际上我们是想将没有填写age的记录放在最后,我们可以 

Sql代码  

select * from t_user order by age is null, age;  

 

name age

zhangsan 1

wangwu 2

lisi NULL

 

为什么会这样?可以这样来理解: 

Sql代码  

select * from t_user order by age is null, age;  

 

等价于: 

Sql代码  

select * from (select name, age, (age is null) as isnull from t_user) as foo order by isnull, age;  

 

bitsCN.com
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn