2013-10-08 48 views
-3

我想獲得總在SQL兩列的總和如下圖所示的mysql得到兩列

SELECT sum(aaanum) aaa, sum(bbbnum) bbb, sum(aaa+bbb) ccc 
FROM myTable; 

但是當我這樣做,我得到在「字段列表」 未知列「AAA」

當我不喜歡這樣,我得到的結果,我希望

SELECT sum(aaanum) aaa, sum(bbbnum) bbb, sum(aaanum+bbbnum) ccc 
FROM myTable; 

但是我想這樣做,就像我在第一個例子做了正如我已經把對於S充足的代碼非常簡單我希望能夠將這個應用於更復雜的示例,而不必重複,因爲如果發生任何更改,這將很難維護,我將不得不在兩個地方進行更改。

這樣做的最好方法是什麼?

+0

這個問題在 – Lamak

+0

@Lamak之前已經被問了好多次了,很抱歉有重複。我已經看過,但沒有得到正確的搜索ferms感謝鏈接。 – ak85

回答

2

你可以得到的最接近的是在查詢的查詢:

SELECT 
    aaa, 
    bbb, 
    aaa+bbb ccc 
FROM (
    SELECT 
    sum(aaanum) aaa, 
    sum(bbbnum) bbb 
    FROM myTable 
) x 

FYI的「X」在結束對內部查詢的結果的別名,是語法正確是必需的。

0

你可以像下面這樣做

Select a, b, sum(a+b) 
from (select sum(aaanum) a, sum(bbbnum) 
     from mytable) 
group by a, b 

只需要首先計算的款項中選擇子。