加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL order by 排序问题

发布时间:2020-12-13 16:12:04 所属栏目:百科 来源:网络整理
导读:默认的排序为order by 字段名, 如果该字段不允许为空的情况下可以这样操作, 但是当字段允许为null时,order by 字段名的方式会导致: 升序时(asc): 会从最小值开始升序,最后面接上字段值为null的值。 降序时(desc): 会把Null值作为最大值排在前面,显

默认的排序为order by 字段名,

如果该字段不允许为空的情况下可以这样操作,

但是当字段允许为null时,order by 字段名的方式会导致:

升序时(asc):

会从最小值开始升序,最后面接上字段值为null的值。

降序时(desc):

会把Null值作为最大值排在前面,显然这并不是我们想要的排序结果。

PostgreSQL提供 NULLS FIRST | ORDER BY 子句的最后一个关键字可以满足需要

... ORDER BY last_updated NULLS FIRST
SELECT last_updated 
    FROM your_table 
ORDER BY CASE WHEN last_updated IS NULL THEN 0 ELSE 1 END,last_updated ASC;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读