簡體   English   中英

行總數按紅移或 sql 中的總計

[英]Row total by grand total in redshift or sql

我希望除以該列的總和的列的行級數據。 以下是我擁有的數據集。

date       |   sales    |    avg
2018-12-01 |    10      |   10/215
2018-12-02 |    40      |   40/215
2018-12-03 |    40      |   40/215
2018-12-04 |    10      |   10/215
2018-12-05 |    30      |   30/215
2018-12-06 |    20      |   20/215
2018-12-07 |    35      |   35/215
2018-12-08 |    30      |   30/215
Grand total|    215     

在“平均值”列中,我希望將行的數據除以該列的總計,以了解該特定日期的平均值是多少。 我們的數據庫使用 redshift 來提取數據。 我們如何解決上述問題? 另外,我不想顯示總計行。

您將使用窗口函數:

select t.*,
       sales * 1.0 / sum(sales) over () as sales_ratio
from t;

我知道這不是最好的解決方案,但仍然有效,並且對您來說是另一種可能性。

Select *,
    AVG = (sales/(select sum(sales)from your_table))
from your_table
    

暫無
暫無

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

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