PostgreSQL order by 排序问题
Posted Ryan.zheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PostgreSQL order by 排序问题相关的知识,希望对你有一定的参考价值。
默认的排序为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;
以上是关于PostgreSQL order by 排序问题的主要内容,如果未能解决你的问题,请参考以下文章
postgresql----排序ORDER BY,分组GROUP BY,分页OFFSET&&LIMIT
有没有办法在聚合调用中不使用 ORDER BY 对 postgresql 自定义聚合中的行进行预排序?
laravel eloquent order by specific value with PostgreSQL 数据库