Rangér posterne med ROW_NUMBER, så maks. værdien for en sku får #1. Behold derefter kun disse optegnelser rangeret som nr. 1.
select sku, item, value
from
(
select
mytable.*
row_number() over (partition by sku order by value desc) as rn
from mytable
)
where rn = 1;
For SKU 1503818 får du en af disse to:
1503818 1636708 0,9440251 1503818 1636709 0,9440251
Hvis du vil have en bestemt (f.eks. den med det højere varenummer), skal du tilføje dette kriterium til Row_Numbers ORDER BY-klausul.
Med hensyn til den forespørgsel, du selv prøvede:Du bør i stedet lede efter sku-værdipar:
select SKU, ITEM, VALUE from import
where (sku,value) in (select sku, max(value) from import group by sku);
I tilfælde af uafgjort, som med SKU 1503818, vil denne forespørgsel dog give dig begge poster.