衆所周知,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