多个表中的最大函数

Max function in multiple tables

无法获取每个项目的状态最大值 我唯一得到的是列表中从一到最后的所有状态。该输出

| idState  | idProject |
| -------- | -------------- |
| 1        | 1              |
| 2        | 1              |
| 3        | 1              |
| 4        | 1              |
| 1        | 2              |
| 2        | 2              |

等等。 我需要的是

| idState  | idProject |
| -------- | -------------- |
| 4        | 1              |
| 2        | 2              |

其中 State 是每个项目列中的最大值

SELECT e.idState, e.delivery, ep.idProject
FROM State e
CROSS JOIN StatexProject ep ON e.idState = ep.idState
WHERE ep.idProject = (SELECT MAX(exp.idState) FROM StatexProject exp
WHERE ep.idState = exp.idState);

我认为您正在寻找基本聚合(每组最多)。鉴于您的预期输出,您在评论中对戈登问题的回复没有意义。试一试,我们可以从那里开始

SELECT max(e.idState) as idState, ep.idProject
FROM State e
JOIN StatexProject ep ON e.idState = ep.idState
GROUP BY ep.idProject;