SQL 總合百分比


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



網站導引
其他資源




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

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

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

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 累積總合百分比

網站導引   |   其他資源