次のように拒否されない製品の最小orderIndexを選択することから始めることができます:
SELECT productId, MIN(orderIndex)
FROM myTable
WHERE rejected = 0
GROUP BY productId;
それができたら、productIdとminOrderIndexが一致することを条件に、元のテーブルと結合できます。
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;
私のクエリは、重複する(productId、orderIndex)ペアがないことを前提としています。それらが存在しない限り、これは問題なく機能します。これが