【问题标题】:Computing the median of salaries under each manager in BigQuery SQL在 BigQuery SQL 中计算每个经理的工资中位数
【发布时间】:2019-08-16 06:20:42
【问题描述】:

我有一个包含以下列的 BigQuery 表:employeesalarygendermanager。我想计算每个团队(因此,对于每个经理)女性员工薪水的中位数。

我尝试过使用PERCENTILE_CONT(..., 0.5)navigation function,但它似乎不支持GROUP BY

这是我的查询:

SELECT
  manager,
  PERCENTILE_CONT(salary,
    0.5) OVER() AS median_of_women_salaries
FROM
  employees_table
WHERE
  gender = 'woman'
GROUP BY
  manager

我得到的是错误信息:

"SELECT 列表表达式引用列 salary 既不在 [.:.] 处分组也不聚合"

因此,我想获得一个包含 managermedian_of_women_salaries 列的表格,其中将显示每位经理下女性工资的中位数。

非常感谢您的帮助!

【问题讨论】:

    标签: sql google-bigquery median


    【解决方案1】:

    您可以使用现有的共享 UDF:

    SELECT
      manager,
      fhoffa.x.median(ARRAY_AGG(salary)) AS median_of_women_salaries
    FROM employees_table
    WHERE gender = 'woman'
    GROUP BY manager
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-12
      • 2017-07-28
      • 1970-01-01
      • 2021-07-09
      • 2021-04-11
      • 2023-01-22
      • 1970-01-01
      相关资源
      最近更新 更多