select文のorder句は、並び替えをする。
たとえば、
SELECT * FROM items ORDER BY name;
とすると、nameの昇順に並び替わるというもの。
BYの次に条件をつけると挙動が変わる。
SELECT * FROM items ORDER BY name='unco' DESC;
これだとnameがuncoのものが一番最初になる。
奇妙だ。
他にも、
SELECT * FROM items ORDER BY age <= 5 DESC;
とすると、ageが5以下のものが一番上に並ぶことになる。
非常に奇妙だ。
全てのデータベースでできるような書き方なのかは知らんが、mysqlとsqliteではこういう動作になった。