• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
LOFLY
终其一生,编织快乐
博客园    首页    新随笔    联系   管理    订阅  订阅

SQLite 教程-ORDER BY

SQLite 对结果集进行排序的操作 ORDER BY column_name;

ORDER BY语句介绍

为了对查询的结果集进行排序,你应该使用如下ORDER BY子句:

SELECT
   select_list
FROM
   table
ORDER BY
    column_1 ASC,
    column_2 DESC;

如果通过多列对查询结果进行排序,你可以使用(,)来分割多列。

SQLite 的ORDER BY语句的例子

以tracks歌曲表为例

image

按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;


image

对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 暂不支持

下一篇

posted @ 2024-05-12 17:21  编织快乐  阅读(38)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3