PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Tại sao giá trị NULL lại xuất hiện đầu tiên khi đặt hàng DESC trong một truy vấn PostgreSQL?

Trên thực tế, với thứ tự sắp xếp mặc định (ASCENDING ) Giá trị NULL đến cuối cùng .

Logic ra lệnh rằng thứ tự sắp xếp được đảo ngược với DESCENDING từ khóa, vì vậy NULLs đến đầu tiên trong trường hợp này.

Nhưng phần tốt nhất đến sau cùng:bạn có thể chọn theo cách bạn muốn:

  • Sử dụng NULLS FIRST | LAST mệnh đề.

Trích dẫn hiện tại hướng dẫn sử dụng, phiên bản 9.3 kể từ khi viết:

If NULLS LAST được chỉ định, các giá trị null sắp xếp sau tất cả các giá trị không phải null; nếu NULLS FIRST được chỉ định, các giá trị null sắp xếp trước các giá trị allnon-null. Nếu cả hai đều không được chỉ định, thì hành vi mặc định là NULLS LAST khi ASC được chỉ định hoặc ngụ ý NULLS FIRST khi DESC được chỉ định (do đó, mặc định là hoạt động như thể các giá trị null lớn hơn các giá trị không phải null). Khi USING được chỉ định, thứ tự null mặc định phụ thuộc vào việc toán tử là toán tử nhỏ hơn hay lớn hơn.

Nhấn mạnh đậm của tôi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo chuỗi nếu không tồn tại

  2. Cách đặt giá trị của trường biến tổng hợp bằng SQL động

  3. Sử dụng phép nối để kết hợp dữ liệu từ các bảng khác nhau trong PostgreSQL

  4. Postgres là cơ sở dữ liệu tuyệt vời nhất - Lý do số 1:Các nhà phát triển thích nó!

  5. PostgreSQL 13:Đừng để các vị trí giết chết vị trí chính của bạn