Classez les enregistrements avec ROW_NUMBER, de sorte que la valeur maximale d'un sku obtienne #1. Ne conservez ensuite que les enregistrements classés n°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;
Pour le SKU 1503818, vous obtiendrez l'un de ces deux :
1503818 1636708 0,9440251 1503818 1636709 0,9440251
Si vous en voulez un en particulier (par exemple celui avec le numéro d'article le plus élevé), ajoutez ce critère à la clause ORDER BY de Row_Number.
Quant à la requête que vous avez essayée vous-même :vous devriez plutôt rechercher des paires sku-valeur :
select SKU, ITEM, VALUE from import
where (sku,value) in (select sku, max(value) from import group by sku);
En cas d'égalité, comme avec le SKU 1503818, cette requête vous donnera cependant les deux enregistrements.