Můžete začít výběrem minimálního indexu objednávky produktů, které nejsou odmítnuty takto:
SELECT productId, MIN(orderIndex)
FROM myTable
WHERE rejected = 0
GROUP BY productId;
Jakmile to budete mít, můžete se k ní připojit k vaší původní tabulce za podmínky, že se productId a minOrderIndex shodují:
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;
Můj dotaz předpokládá, že neexistují žádné duplicitní páry (productId, orderIndex). Dokud nebudou existovat, bude to fungovat dobře. Zde je SQL Fiddle příklad.