SQL - 客户满意度影响(需要子查询?)

SQL - Customer Satisfaction Impact (Subquery needed?)

我在尝试向我的 table 添加新列时遇到了一些 SQL 问题,我认为它依赖于子查询来工作。

下面我分享了 link 到 Google Sheet 以及一些示例数据来演示我正在努力实现的目标。 https://docs.google.com/spreadsheets/d/1qaWZg4BEs8xOxG3jNZwKRcaOGfMiMtCb15IU3FQ9W0o/edit?usp=sharing

我的基本布局是:

select
 team_member,
 language,
 channel,
 month,
 sum(total_customers),
 sum(happy_customers),
 safe_divide(sum(happy_customers),sum(total_customers)) AS Satisfaction_Score
FROM
 Table1
GROUP BY 1,2,3,4

我明白上面的内容会让我得到 team_member、语言、频道、月份每一行的满意度分数。我正在尝试在其末尾添加新列,这可能会让我:

然后我可以用它来计算满意度影响,其布局如下:

(team member satisfaction score-language satisfaction score)*(team member total customers/language total customers)

遗憾的是我什至还没有接近答案,希望这里的向导可能知道如何完成?

您可以使用 window 函数:

select team_member, language, channel, month,
       sum(total_customers), sum(happy_customers),
       sum(sum(total_customers)) over (partition by team_member, language) as total_team_language,
       safe_divide(sum(sum(happy_customers)) over (partition by team_member, language),
                   sum(total_customers)over (partition by team_member, language)
                  ) AS Satisfaction_Score_team_language
FROM Table1
GROUP BY 1,2,3,4