0

我有下表:

  • 主要 Int id
  • 诠释另一个_id
  • 布尔条件

我想选择max(id)按 another_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

有没有办法做到这一点?

先谢谢了!

4

2 回答 2

1
SELECT
MAX(id)
FROM
Table1 t
GROUP BY another_id
HAVING SUM(`condition`) = 0

在sqlfiddle中看到它。

于 2013-05-06T11:47:45.433 回答
0

试试这个内联视图:

SELECT MAX(MaxID) FROM 
(SELECT MAX(ID) AS MaxID FROM TABLE GROUP BY another_id) AS T
于 2013-05-06T11:52:33.080 回答