Uporządkuj rekordy za pomocą ROW_NUMBER, aby maksymalna wartość jednostki sku wynosiła #1. Następnie zachowaj tylko te rekordy na 1. pozycji.
select sku, item, value
from
(
select
mytable.*
row_number() over (partition by sku order by value desc) as rn
from mytable
)
where rn = 1;
Za SKU 1503818 otrzymasz jeden z tych dwóch:
1503818 1636708 0,9440251 1503818 1636709 0,9440251
Jeśli chcesz konkretny (np. ten o wyższym numerze pozycji), dodaj to kryterium do klauzuli ORDER BY wiersza_Number.
Jeśli chodzi o zapytanie, które sam spróbowałeś:Zamiast tego powinieneś szukać par wartości sku:
select SKU, ITEM, VALUE from import
where (sku,value) in (select sku, max(value) from import group by sku);
Jednak w przypadku remisu, tak jak w przypadku SKU 1503818, to zapytanie dostarczy oba rekordy.