Có cách nào với PostgreSQL để sắp xếp các hàng có NULL
giá trị trong các trường đến cuối bảng đã chọn không?
Giống:
SELECT * FROM table ORDER BY somevalue, PUT_NULL_TO_END
Câu trả lời:
Trước hết, các giá trị NULL được sắp xếp cuối cùng theo thứ tự tăng dần mặc định . Bạn không phải làm gì thêm.
Vấn đề áp dụng cho thứ tự giảm dần , là nghịch đảo hoàn hảo và do đó sắp xếp các giá trị NULL trước. Các giải pháp @Mosty ra nhọn đã được giới thiệu với PostgreSQL 8.3 :
ORDER BY somevalue DESC NULLS LAST
Đối với PostgreSQL 8.2 trở lên hoặc RDBMS khác không có tính năng SQL tiêu chuẩn này, bạn có thể thay thế:
ORDER BY (somevalue IS NULL), somevalue DESC
FALSE
sắp xếp trước TRUE
, vì vậy giá trị NULL đứng sau cùng, giống như trong ví dụ trên.
Câu trả lời sau có liên quan:
Điều này có làm cho lừa?
ORDER BY somevalue DESC NULLS LAST
Lấy từ: http://www.postgresql.org/docs/9.0/static/sql-select.html