我有下表:
我想选择由another_id分组的所有max(id)
,但前提是max(id)
行的条件等于FALSE
。
我尝试SELECT MAX(id) WHERE
条件IS FALSE GROUP BY another_id
,但我得到了之前的ID。
例如,使用下表:
id | another_id | condition
1 | 42 | 0
2 | 42 | 1
3 | 31 | 0
4 | 77 | 1
我想要的唯一结果是id == 3
有没有办法做到这一点?
提前,谢谢!
答案 0 :(得分:1)
SELECT
MAX(id)
FROM
Table1 t
GROUP BY another_id
HAVING SUM(`condition`) = 0
在sqlfiddle中查看。
答案 1 :(得分:0)
试试这个内联视图:
SELECT MAX(MaxID) FROM
(SELECT MAX(ID) AS MaxID FROM TABLE GROUP BY another_id) AS T