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

Hàm tổng hợp hoặc cửa sổ PostgreSQL để chỉ trả về giá trị cuối cùng

DISTINCT chức năng cửa sổ cộng

Thêm DISTINCT mệnh đề:

SELECT DISTINCT a
     , last_value(b) OVER (PARTITION BY a ORDER BY b
                           RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
FROM  (
   VALUES
     (1, 'do not want this')
    ,(1, 'just want this')
   ) sub(a, b);

Tìm hiểu thêm về DISTINCT :

Đơn giản hơn và nhanh hơn với DISTINCT ON

PostgreSQL cũng có phần mở rộng này của tiêu chuẩn SQL:

SELECT DISTINCT ON (a)
       a, b
FROM  (
   VALUES
     (1, 'do not want this')
   , (1, 'just want this')
   ) sub(a, b)
ORDER  BY a, b DESC;

Tìm hiểu thêm về DISTINCT ON và có thể là các lựa chọn thay thế nhanh hơn:

Trường hợp đơn giản với tổng hợp đơn giản

Nếu trường hợp của bạn thực sự đơn giản như bản demo của bạn (và bạn không cần thêm cột từ hàng cuối cùng đó), một hàm tổng hợp thuần túy sẽ đơn giản hơn:

SELECT a, max(b)
FROM  (
   VALUES
     (1, 'do not want this')
   , (1, 'just want this')
   ) sub(a, b)
GROUP  BY a;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL:Tạo chỉ mục cho cột boolean

  2. Tôi gặp lỗi không thể ghi khối .... tệp tạm thời không còn dung lượng trên thiết bị ... bằng cách sử dụng postgresql

  3. Nhận ứng dụng có số lượt đánh giá cao nhất kể từ một chuỗi ngày năng động

  4. Làm cách nào để thêm giá trị tham số vào truy vấn pgadmin sql?

  5. Array of Enum trong Postgres với SQLAlchemy