2017-04-09 128 views
-2

I want to calculate the total sum of Invoice_Total as one Sum, not per row.查詢不計算Invoice_Total列的總和

SELECT YEAR(Invoice_Date)as SalesYear, MONTH(Invoice_Date)as SalesMonth, Client_Name,Invoice_Total, SUM(Invoice_Total) AS TotalSales FROM INVOICE JOIN CLIENT ON CLIENT.Client_ID= INVOICE.Client_ID WHERE Invoice_Date between '2016-01-01'and'2016-01-31' GROUP BY Client_Name, Invoice_Date, Invoice_Total;

+0

你應該在Stackoverflow上查找「如何提出問題」。 –

回答

0

如果只是SUM作爲一個行,那麼你可以從查詢,例如刪除GROUP BY它可以是簡單的:

SELECT SUM(Invoice_Total) 
FROM INVOICE 
WHERE Invoice_Date BETWEEN '2016-01-01' AND '2016-01-31'; 

更新

如果從現有查詢(與其他列一起)要Invoice_Total的SUM,那麼你可以把它包裝成另一個查詢,例如:

SELECT SalesYear, SalesMonth, Client_Name, Invoice_Total, SUM(TotalSales) 
FROM (
SELECT YEAR(Invoice_Date)as SalesYear, MONTH(Invoice_Date)as SalesMonth, Client_Name,Invoice_Total, SUM(Invoice_Total) AS TotalSales FROM INVOICE 
JOIN CLIENT 
ON CLIENT.Client_ID= INVOICE.Client_ID 
WHERE Invoice_Date between '2016-01-01'and'2016-01-31' 
GROUP BY Client_Name, Invoice_Date, Invoice_Total 
) a; 

如果你不希望其他列(因爲它不會太大的意義與所有行打印相同的值),只需使用SELECT SUM(TotalSales) FROM...

+0

我不想將SUM作爲一行,我想計算所有客戶的發票總計的總和。好的,我編輯了這個問題,這個問題還是新的。 – Ruth

+0

更新了答案。 –

+0

我試過更新後的查詢並得到這個錯誤 '錯誤1248(42000):每個派生表都必須有自己的別名' – Ruth