要用 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 累積總合百分比
網站導引 |
其他資源
Copyright 1999-2009 1keydata.com. 版權所有
|