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

chọn một cột dựa trên giá trị tối thiểu của một cột khác

Trong SQL tiêu chuẩn, điều này có thể được thực hiện bằng cách sử dụng một hàm cửa sổ

select test_type, model, firmware_version, avg_throughput
from (
  select test_type, model, firmware_version, avg_throughput, 
         min(firmware_version) over (partition by test_type, model) as min_firmware
  from temp_table
) t
where firmware_version = min_firmware;

Tuy nhiên, Postgres có distinct on toán tử thường nhanh hơn giải pháp tương ứng với hàm cửa sổ:

select distinct on (test_type, model) 
       test_type, model, firmware_version, avg_throughput
from temp_table
order by test_type, model, firmware_version;

Ví dụ về SQLFiddle: http://sqlfiddle.com/#!15/563bd/1



  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 so sánh các mảng trong PostgreSQL

  2. Postgres CTE:loại ký tự thay đổi (255) [] trong thuật ngữ không đệ quy nhưng loại ký tự thay đổi [] tổng thể

  3. Sử dụng QT Designer để tạo TableView cho cơ sở dữ liệu Postgres

  4. Rails đặt lại TẤT CẢ các chuỗi Postgres?

  5. UUID hợp lệ không phải là UUID hợp lệ