要用 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) 除以總合來求出每一行的累積總合百分比。

本頁最近於 2022年6月13日更新



Copyright © 2024   1keydata.com   版權所有