簡體   English   中英

SQL 平均 分組百分比

[英]SQL average Percentage by group

我有一些示例記錄的 table1(將有超過 100 條記錄)

lastname    courtesy    
Lane          3  
Lane          4  
Lane          5  
Lane         12   
Santana       4  
Santana       5  

我的查詢是按姓氏獲取 ave 百分比組,但沒有按姓氏分組
你可以看到萊恩和桑塔納仍然沒有分組。
請更正查詢。 謝謝你。


SELECT
  lastname,
  courtesy,
  percentage = AVG(courtesy) * 100 / SUM(AVG(courtesy)) OVER (PARTITION BY lastname)
FROM echo
GROUP BY
  lastname, courtesy

結果

lastname    courtesy    percentage
Lane         3           12
Lane         4           16
Lane         5           20
Lane         12          50
Santana      4           44
Santana      5           55

結果看起來像這樣

lastname    percentage
Lane         16        (4/24)
Satana       22        (2/9)
count (lastname) / sum (courtesy)  group by lastname

我認為這是您想要的邏輯:

SELECT lastname,
       SUM(SUM(courtesy)) OVER (ORDER BY lastname),
       COUNT(*) * 1.0 / SUM(courtesy)
FROM echo
GROUP BY lastname;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM