Có cách nào với PostgreSQL để sắp xếp các hàng có NULLgiá 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
FALSEsắ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