SQL 累積總合百分比


SQL UNION
SQL UNION ALL
SQL INTERSECT
SQL MINUS
SQL 子查詢
SQL EXISTS
SQL CASE
SQL 算排名
SQL 算中位數
SQL 算累積總計
SQL 算總合百分比
SQL 算累積總合百分比



網站導引
其他資源


要用 SQL 累積總合百分比算出,我們運用類似總合百分比的概念。兩者的不同處在於在這個情況下,我們要算出到目前為止的累積總合是所有總合的百分之幾,而不是光看每一筆資料是所有總合的百分之幾。讓我們來看看以下的例子:

Total_Sales 表格
Name Sales
John 10
Jennifer 15
Stella 20
Sophia 40
Greg 50
Jeff 20

要算出累積總合百分比,我們鍵入:

SELECT a1.Name, a1.Sales, SUM(a2.Sales)/(SELECT SUM(Sales) FROM Total_Sales) Pct_To_Total
FROM Total_Sales a1, Total_Sales a2
WHERE a1.Sales <= a2.sales or (a1.Sales=a2.Sales and a1.Name = a2.Name)
GROUP BY a1.Name, a1.Sales
ORDER BY a1.Sales DESC, a1.Name DESC;

結果:

Name Sales Pct_To_Total
Greg 50 0.3226
Sophia 40 0.5806
Stella 20 0.7097
Jeff 20 0.8387
Jennifer 15 0.9355
John 10 1.0000

"SELECT SUM(Sales) FROM Total_Sales" 這一段子查詢是用來算出總合。我們接下來用累積總計 "SUM(a2.Sales)" 除以總合來求出每一行的累積總合百分比。

網站導引   |   其他資源


Copyright 2010   1keydata.com.   版權所有