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

Postgres:Riêng biệt nhưng chỉ dành cho một cột

Để phân biệt chỉ một (hoặc n) cột:

select distinct on (name)
    name, col1, col2
from names

Điều này sẽ trả về bất kỳ hàng nào chứa tên. Nếu bạn muốn kiểm soát hàng nào sẽ được trả lại, bạn cần đặt hàng:

select distinct on (name)
    name, col1, col2
from names
order by name, col1

Sẽ trả về hàng đầu tiên khi được đặt hàng bởi col1.

distinct on :

CHỌN DISTINCT ON (biểu thức [, ...]) chỉ giữ hàng đầu tiên của mỗi tập hợp các hàng trong đó các biểu thức đã cho đánh giá là bằng nhau. Biểu thức DISTINCT ON được diễn giải bằng cách sử dụng các quy tắc tương tự như đối với ORDER BY (xem ở trên). Lưu ý rằng "hàng đầu tiên" của mỗi tập hợp là không thể đoán trước trừ khi ORDER BY được sử dụng để đảm bảo rằng hàng mong muốn xuất hiện trước.

(Các) biểu thức DISTINCT ON phải khớp với (các) biểu thức ORDER BY ngoài cùng bên trái. Mệnh đề ORDER BY thông thường sẽ chứa (các) biểu thức bổ sung xác định mức độ ưu tiên mong muốn của các hàng trong mỗi nhóm DISTINCT ON.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để truy vấn bằng cách sử dụng các trường bên trong kiểu dữ liệu PostgreSQL JSON mới?

  2. Có phải thiết kế tồi khi sử dụng các mảng trong cơ sở dữ liệu không?

  3. Trình điều khiển HikariCP Postgresql Tuyên bố không chấp nhận URL JDBC

  4. Làm thế nào để cấu hình postgresql lần đầu tiên?

  5. Chia tỷ lệ PostgreSQL cho lượng lớn dữ liệu