मानक 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;
हालांकि पोस्टग्रेज में 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