PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

memilih kolom berdasarkan nilai minimum kolom lain

Dalam SQL standar ini dapat dilakukan dengan menggunakan fungsi jendela

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;

Namun Postgres memiliki distinct on operator yang biasanya lebih cepat daripada solusi yang sesuai dengan fungsi jendela:

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

Contoh 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. Bagaimana cara menentukan apakah NULL terkandung dalam array di Postgres?

  2. Bagaimana cara menggunakan operator APAPUN Postgresql dalam pernyataan NOT IN?

  3. postgresql bergabung sendiri

  4. Fungsi agregat penjumlahan array berpasangan?

  5. Bagaimana Tand() Bekerja di PostgreSQL