2012-12-12 42 views
0

我使用SQL Server 2008的SQL合計爲同一值

這是我的數據:

column1 columnAmount 
----------------------- 
    ab   3 
    ac   2 
    ab   4 

所以在我查詢我要總結這些都是colum1相同的值。

我所需的輸出是:

column1 columnAmount 
----------------------  
    ab   7 
    ac   2 

我怎樣才能做到這一點?

+0

如果您發佈代碼,XML或數據樣本,請**在文本編輯器中突出顯示這些行,然後單擊編輯器工具欄上的「代碼示例」按鈕(「{}」)以良好地格式化和語法突出顯示它! –

+0

可能重複[如何使用T-SQL Group By](http://stackoverflow.com/questions/2702/how-do-i-use-t-sql-group-by) – jrummell

+0

是不是這是一個有點太微不足道了?閱讀關於SQL,group by,聚合函數... –

回答

4

這是一個基本SUM ... GROUP BY

SELECT column1, 
     Sum(columnAmount) AS columnAmount 
FROM YourTable 
GROUP BY column1 

作爲語法表明,它將輸入分組(一個用於column1每個不同的值),並計算每個組的總和。

+0

如果我有更多的列,我將不得不將它們添加到group by子句中,但是查詢仍然按group by子句右邊指定的第一個進行分組? – pyram

+1

@pyram - 不,你需要把它們放在一起。如果你把它們放在「GROUP BY」中,你會得到一組不同的值組合。如果它們在功能上依賴於'column1',那麼你可以將它們添加到'GROUP BY'列表中,因爲這不會改變分組,但是不清楚你的問題是否屬於這種情況。 –

+0

我沒有完全理解你上面的評論。事情是我有超過這兩列在表上,這些其他列包含文本。因此,當我運行查詢時,它會要求我將這些其他列放在group by子句..........那麼,我應該將它們添加到column1之後的group by子句中嗎? – pyram