gpt4 book ai didi

group-by - 在AWS Redshift中使用分组依据计算中位数

转载 作者:行者123 更新时间:2023-12-04 06:36:25 24 4
gpt4 key购买 nike

我看过other posts about using the median() window function in Redshift,但是您如何将其与末尾具有group by的查询一起使用呢?

例如,假设表过程为:

Course | Subject | Num_Students
-------------------------------
1 | Math | 4
2 | Math | 6
3 | Math | 10
4 | Science | 2
5 | Science | 10
6 | Science | 12

我想获得每个类(class)科目的学生人数的中位数。我将如何编写一个查询,给出以下结果:
  Subject  | Median
-----------------------
Math | 6
Science | 10

我试过了:
SELECT
subject, median(num_students) over ()
FROM
course
GROUP BY 1
;

但是它列出了每次出现的主题,并且在各个主题之间都列出了相同的中位数(这是伪数据,因此它返回的实际值不是6,而只是显示所有主题都相同):
  Subject  | Median
-----------------------
Math | 6
Math | 6
Math | 6
Science | 6
Science | 6
Science | 6

最佳答案

您只需要删除它的“over()”部分。

SELECT subject, median(num_students) FROM course GROUP BY 1;

关于group-by - 在AWS Redshift中使用分组依据计算中位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28507232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com