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

Postgres chọn tất cả các cột nhưng nhóm theo một cột

Bất cứ khi nào bạn bắt đầu nghĩ rằng bạn muốn một GROUP BY được bản địa hóa, bạn nên bắt đầu nghĩ về chức năng cửa sổ thay vào đó.

Tôi nghĩ bạn đang theo đuổi một cái gì đó như thế này:

select unit_id, time, diag
from (
    select unit_id, time, diag,
           rank() over (partition by unit_id order by time desc) as rank
    from diagnostics.unit_diag_history
) as dt
where rank = 1

Bạn có thể muốn thêm một cái gì đó vào ORDER BY để phá vỡ mối quan hệ một cách nhất quán nhưng điều đó sẽ không làm thay đổi kỹ thuật tổng thể.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mẫu &Công cụ sửa đổi Mẫu cho Định dạng Ngày / Giờ trong PostgreSQL

  2. Làm cách nào để cấp quyền cho người dùng trên tất cả các bảng mới trong Postgres?

  3. Hibernate có nên sử dụng các chuỗi duy nhất cho mỗi bảng không?

  4. Làm cách nào để chuyển đổi chữ hoa / thường cho mỗi chữ cái trong một chuỗi bằng SQL?

  5. Kết nối với postgres trong vùng chứa docker từ máy chủ