只sum(Sum_1415)
更換子查詢(select sum(Sum_1415) from dummy)
。否則,您將計算每個客戶的增長與上一年所有收入總額的比率,而不是該客戶的總額。
您還在ROUND
調用中丟失了一些括號,圍繞減法sum(Sum_1516)-Sum(Sum_1415)
。
select CustomerName, SUM(Sum_1415) AS Sum_1415, SUM(Sum_1516) AS Sum_1516,
round((sum(Sum_1516)-Sum(Sum_1415))/SUM(Sum_1415),2) as Percentage
from dummy
group by CustomerName
order by Sum_1415 desc
limit 15
我可能會重構這個爲子查詢,所以它不是必要保持重複SUM
表達式。
SELECT CustomerName, Sum_1415, Sum_1516, ROUND((Sum_1516-Sum_1415)/Sum_1415, 2) AS Percentage
FROM (SELECT CustomerName, SUM(Sum_1415) AS Sum_1415, SUM(Sum_1516) AS Sum_1516
FROM dummy
GROUP BY CustomerName
ORDER BY Sum_1516 DESC
LIMIT 15) AS x
很難理解你在做什麼。使用當前查詢顯示一些示例數據,預期輸出和問題? –
子查詢'(從虛擬中選擇總和(Sum_1415))'不會被'客戶名稱'分組,因此它將成爲所有客戶的總和。 – Barmar
表結構如上。總額1415包含2014-2015年客戶收入,總額1516包含同一客戶的收入。我們需要添加需要計算的增長百分比列。 – Fresher