PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

избиране на колона въз основа на минимална стойност на друга колона

В стандартния SQL това може да се направи с помощта на прозоречна функция

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;

Postgres обаче има distinct on оператор, който обикновено е по-бърз от съответното решение с прозоречна функция:

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

Пример за 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. Как да избегнем многократно вмъкване в PostgreSQL

  2. Приспособлението на Django се зарежда много бавно

  3. Как да актуализирате множество колони в PostgreSQL

  4. Напълно управляван PostgreSQL хостинг на AWS и Azure стартира навреме за наследени миграции

  5. Заглушаване на спама в журналите на postgres в регистрационните файлове на rails 3