众所周知,Mysql 的order by是用于对行进行排序的,默认升序。本文大体讲一下order by的boolean排序用法。mysql
先举个例子,sql以下:sql
select * from people ORDER BY age;
查询出来的结果以下:code
如今将sql改成:xml
select * from people ORDER BY age=4 ,age=6;
查询出来的结果则为:blog
能够观察出来:age为4和6的排到了最后面,为何?缘由就是order by后面跟了一个条件判断(age=4),也就是一个boolean值,只有当age等于4或者等于6的时候,为true,不然为false,在mysql中true是1,false是0,又由于order by默认升序,故就把age等于4和6的行排在了最后。排序
若是说把sql改成这样:class
select * from people ORDER BY age=4 desc,age=6 desc;
则结果以下,age等于4和6的行排在了最前面select