【发布时间】:2015-04-14 22:41:31
【问题描述】:
我见过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
我想获得每个课程科目的学生人数中位数。我将如何编写一个给出以下结果的查询:
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
【问题讨论】:
标签: group-by amazon-redshift window-functions