有没有办法用PostgreSQL将字段中包含NULL值的行排序到所选表的末尾?喜欢:
NULL
SELECT * FROM table ORDER BY somevalue, PUT_NULL_TO_END
fdbelqdn1#
NULL值按默认升序最后排序。你不需要做任何额外的事情。该问题适用于降序,这是完全相反的,因此将NULL值排在最上面。
PostgreSQL 8.3引入NULLS LAST:
NULLS LAST
ORDER BY somevalue DESC NULLS LAST
PostgreSQL 8.2及更早版本或其他无此标准SQL功能的RDBMS:
ORDER BY (somevalue IS NULL), somevalue DESC
FALSE在TRUE之前排序,因此NULL值排在最后,就像上面的示例一样。请参见:
FALSE
TRUE
SELECT
7fhtutme2#
这招管用吗?
摘自:http://www.postgresql.org/docs/9.0/static/sql-select.html
2条答案
按热度按时间fdbelqdn1#
NULL
值按默认升序最后排序。你不需要做任何额外的事情。该问题适用于降序,这是完全相反的,因此将
NULL
值排在最上面。PostgreSQL 8.3引入
NULLS LAST
:PostgreSQL 8.2及更早版本或其他无此标准SQL功能的RDBMS:
FALSE
在TRUE
之前排序,因此NULL
值排在最后,就像上面的示例一样。请参见:
SELECT
7fhtutme2#
这招管用吗?
摘自:http://www.postgresql.org/docs/9.0/static/sql-select.html