所以我有一个数据库表:
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,因为过程是相同的,但工作室是不同的。但是我需要按流程计算。那么我怎样才能只计算不同的过程呢?
答案 0 :(得分:0)
select sum(mreq)
from
(
select max(requiredNo) as mreq
from process
where projectNo='$projectNo'
group by process
) tmp
内部选择为每个进程获得最高requiredNo
。外部选择总和了。