Du kan starte med at vælge minimumordreindekset for produkter, der ikke afvises på denne måde:
SELECT productId, MIN(orderIndex)
FROM myTable
WHERE rejected = 0
GROUP BY productId;
Når du har det, kan du forbinde det med din originale tabel på betingelse af, at productId og minOrderIndex matcher:
SELECT m.id, m.productId, m.orderIndex
FROM myTable m
JOIN(
SELECT productId, MIN(orderIndex) AS minOrderIndex
FROM myTable
WHERE rejected = 0
GROUP BY productId) tmp ON tmp.productId = m.productId AND tmp.minOrderIndex = m.orderIndex;
Min forespørgsel antager, at der ikke er nogen duplikerede (productId, orderIndex) par. Så længe de ikke eksisterer, vil det fungere fint. Her er en SQL Fiddle eksempel.