Beri peringkat catatan dengan ROW_NUMBER, sehingga nilai maksimum untuk sku menjadi #1. Kemudian simpan hanya catatan yang berada di peringkat #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;
Untuk SKU 1503818 Anda akan mendapatkan salah satu dari dua berikut ini:
1503818 1636708 0,9440251 1503818 1636709 0,9440251
Jika Anda menginginkan yang tertentu (misalnya yang memiliki nomor item lebih tinggi), tambahkan kriteria ini ke klausa ORDER BY Row_Number.
Mengenai kueri yang Anda coba sendiri:Anda seharusnya mencari pasangan nilai-sku sebagai gantinya:
select SKU, ITEM, VALUE from import
where (sku,value) in (select sku, max(value) from import group by sku);
Namun, dalam kasus seri, seperti pada SKU 1503818, kueri ini akan mendapatkan Anda berdua.