sql >> Databáze >  >> RDS >> PostgreSQL

výběr sloupce na základě minimální hodnoty jiného sloupce

Ve standardním SQL to lze provést pomocí funkce okna

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 má však distinct on operátor, který je obvykle rychlejší než odpovídající řešení s funkcí okna:

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

Příklad SQLFiddle:http://sqlfiddle.com/#!15/563bd/1



  1. Jak vytvořit uživatele v Oracle Multitenant 12c bez předpony C##

  2. OracleParameter a klauzule IN

  3. sql tabulka s primárním klíčem z jiné tabulky

  4. Opencart 1.5.1.3 zobrazí speciální cenu s datem zahájení a ukončení na stránce zobrazení produktu