SQLite 教程-ORDER BY
ORDER BY语句介绍
为了对查询的结果集进行排序,你应该使用如下ORDER BY子句:
SELECT
select_list
FROM
table
ORDER BY
column_1 ASC,
column_2 DESC;
如果通过多列对查询结果进行排序,你可以使用(,)来分割多列。
SQLite 的ORDER BY语句的例子
以tracks歌曲表为例

按albumid升序来查询歌曲表(tracks)
SELECT
name,
milliseconds,
albumid
FROM
tracks
ORDER BY
albumid ASC;
SQLite 默认是采用升序对结果集进行排序的,所以上面代码中的ASC可以省略。
假如你想按albumID升序,按Milliseconds降序对表格进行排序:
SELECT
name,
milliseconds,
albumid
FROM
tracks
ORDER BY
albumid ASC,
milliseconds DESC;

对NULL值进行排序
NULL可以用于缺失的值。NULL值比较特殊,NULL值不能与其他的值进行比较,也不能跟自身比较。
NULL = NULL返回False。
SQLite认为NULL值比任何值都小。
SQLite 3.30.0 在 ORDER BY 子句中添加了 NULLS FIRST 和 NULLS LAST 选项。NULLS FIRST 选项指定 NULL 值将出现在结果集的开头,而 NULLS LAST 选项将 NULL 值放在结果集的末尾。
SELECT
TrackId,
Name,
Composer
FROM
tracks
ORDER BY
Composer;
将NULL值对应的行放在查询结果的最后
SELECT
TrackId,
Name,
Composer
FROM
tracks
ORDER BY
Composer NULLS LAST;
ORDER BY ... NULLS LAST 暂不支持
浙公网安备 33010602011771号