所以我有一个数据库表:

projectNo| process | studio     | requiredNo |
---------+---------+------------+------------+
16090001 | ANM     | APEX       | 10         |
16090001 | ANM     | BASECAMP   | 10         |
16090001 | BGD     | CANVAS     | 15         |
16090001 | BGD     | PALETTE    | 15         |


我想计算所需的数字。但是当我这样做

SELECT SUM(requiredNo) FROM process WHERE projectNo='$projectNo'


我得到50。但是应该只有25,因为过程相同,但工作室不同。但是我需要按过程进行计算。那么,如何才能仅计算不同的过程?

最佳答案

select sum(mreq)
from
(
    select max(requiredNo) as mreq
    from process
    where projectNo='$projectNo'
    group by process
) tmp


内部选择为每个进程获得最高的requiredNo。外部选择求和。

关于mysql - 仅计算不同的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41178931/

10-12 05:38