【发布时间】:2011-11-29 02:09:13
【问题描述】:
PostgreSQL 有没有办法将字段中具有NULL 值的行排序到所选表的末尾?
喜欢:
SELECT * FROM table ORDER BY somevalue, PUT_NULL_TO_END
【问题讨论】:
标签: sql postgresql null sql-order-by
PostgreSQL 有没有办法将字段中具有NULL 值的行排序到所选表的末尾?
喜欢:
SELECT * FROM table ORDER BY somevalue, PUT_NULL_TO_END
【问题讨论】:
标签: sql postgresql null sql-order-by
NULL 值 按默认 升序 顺序排在最后。你不需要做任何额外的事情。
此问题适用于 降序 顺序,这是完美的逆序,因此将 NULL 值排在最前面。
PostgreSQL 8.3 介绍NULLS LAST:
ORDER BY somevalue DESC NULLS LAST
对于 PostgreSQL 8.2 和更早版本或其他没有此标准 SQL 功能的 RDBMS:
ORDER BY (somevalue IS NULL), somevalue DESC
FALSE 排在TRUE 之前,所以NULL 值排在最后,就像上面的示例一样。
见:
【讨论】:
这成功了吗?
ORDER BY somevalue DESC NULLS LAST
取自:http://www.postgresql.org/docs/9.0/static/sql-select.html
【讨论】: