【发布时间】:2016-07-15 00:34:30
【问题描述】:
例如,vertica db 有一个名为revenue 的表:
date revenue
2016-07-12 1
2016-07-12 10
2016-07-12 5
2016-07-12 3
2016-07-13 7
2016-07-13 120
2016-07-13 22
2016-07-14 5
2016-07-14 17
棘手的是我不希望每个日期的中位数,但我想计算时间范围的中位数收入 >= 每天给定,例如结果将是:
daterange median_revenue
>= 2016-07-12 7
>= 2016-07-13 17
>= 2016-07-14 11
要清楚:
7 = median(1,10,5,3,7,120,22,5,17)
17 = median(7,120,22,5,17)
11 = median(5,17)
如何为这些日期范围编写 sql 脚本?有没有简单的查询方法?我不想在每个日期范围中计算然后联合,因为有很多天。
【问题讨论】:
-
用合理的期望结果编辑您的问题。
-
在您使用您给我们的样本的预期结果中,您能否给出 xxx、yyy 和 zzz 的预期值?它们是记录 >= 那些日期的收入总和吗?
-
嗨 Ashwin,它是中位数。我已经更新了。因为这个例子的样本很少,所以结果并不重要。只是想知道这个想法。