要用 SQL 算出總合百分比,我們需要用到算排名和累積總計的概念,以及運用子查詢的做法。在這裡,我們把子查詢放在外部查詢的 SELECT 子句中。讓我們來看以下的例子:

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

要算出總合百分比,我們鍵入以下的 SQL 語句:

SELECT a1.Name, a1.Sales, a1.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.2581
Stella 20 0.1290
Jeff 20 0.1290
Jennifer 15 0.0968
John 10 0.0645

SELECT SUM(Sales) FROM Total_Sales 這一段子查詢是用來算出總合。總合算出後,我們就能夠將每一行一一除以總合來求出每一行的總合百分比。

下一頁:SQL 累積總合百分比



Copyright © 2017   1keydata.com   版權所有