2016-12-16 51 views
0

所以我有一個數據庫表:只計算不同行

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
select sum(mreq) 
from 
(
    select max(requiredNo) as mreq 
    from process 
    where projectNo='$projectNo' 
    group by process 
) tmp 

對於每個進程,內部選擇得到最高的requiredNo。外面的選擇總和。