Você pode começar selecionando o orderIndex mínimo de produtos que não são rejeitados assim:
SELECT productId, MIN(orderIndex)
FROM myTable
WHERE rejected = 0
GROUP BY productId;
Depois de ter isso, você pode juntá-lo à sua tabela original com a condição de que productId e minOrderIndex correspondam:
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;
Minha consulta assume que não há pares duplicados (productId, orderIndex). Enquanto eles não existirem, isso funcionará muito bem. Aqui está um SQL Fiddle exemplo.