表:
| id | productId | orderIndex | rejected |
------------------------------------------
| 1 | 1 | 0 | 1 |
| 2 | 1 | 1 | 0 |
| 3 | 1 | 2 | 0 |
| 4 | 2 | 0 | 0 |
| 5 | 2 | 1 | 1 |
| 6 | 3 | 0 | 0 |
如何为每个productId选择一行,其最小orderIndex不被拒绝?
预期结果:
| id | productId | orderIndex | rejected |
------------------------------------------
| 2 | 1 | 1 | 0 |
| 4 | 2 | 0 | 0 |
| 6 | 3 | 0 | 0 |
我尝试了此查询,但未收到正确的结果:
SELECT id, productId, min(orderIndex)
FROM table
WHERE rejected = 0
GROUP BY productId
这个也不起作用:
SELECT id, productId, min(orderIndex)
FROM (
SELECT id, productId, orderIndex
FROM table
WHERE rejected = 0
) t
GROUP BY productId