Sie können beginnen, indem Sie den Mindestbestellindex von Produkten auswählen, die nicht abgelehnt werden, wie folgt:
SELECT productId, MIN(orderIndex)
FROM myTable
WHERE rejected = 0
GROUP BY productId;
Sobald Sie das haben, können Sie es mit Ihrer ursprünglichen Tabelle verbinden, unter der Bedingung, dass productId und minOrderIndex übereinstimmen:
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;
Meine Abfrage geht davon aus, dass es keine doppelten Paare (productId, orderIndex) gibt. Solange diese nicht vorhanden sind, wird dies gut funktionieren. Hier ist ein SQL Fiddle Beispiel.