【发布时间】:2019-05-16 14:00:41
【问题描述】:
尝试计算我的数据表中不同步骤之间的范围,并使用此 SQL 代码返回每个计算的中位数:
SELECT median(datediff(seconds,one,two)) as step_one,
median(datediff(seconds,two,three)) as step_two,
FROM Table
这将返回以下错误消息:
[0A000][500310] 亚马逊无效操作:在组 ORDER 内 聚合函数的 BY 子句必须相同; java.lang.RuntimeException: com.amazon.support.exceptions.ErrorException:亚马逊无效 操作:组内 ORDER BY 子句的聚合函数必须 一样的;
注意:不过,我可以返回一个中值。
这是我的数据框示例:
one two three
2015-12-14 19:01:58.014247 2015-12-21 17:36:06.187302 2015-12-14 19:10:00.040057 2015-12-14 19:03:18.153519
2016-01-02 05:18:50.351975 2016-01-02 05:26:10.660299 2016-01-02 05:22:58.353365 2016-01-02 05:19:34.915794
2016-02-08 07:29:23.938046 2016-02-08 07:41:42.016819 2016-02-08 07:31:23.899776 2016-02-08 07:30:03.168844
2016-02-25 18:25:39.223014 2016-02-25 18:31:07.087808 2016-02-25 18:29:02.490969 2016-02-25 18:26:20.188472
2015-11-26 12:02:27.033141 2015-11-26 12:07:52.813699 2015-11-26 12:06:33.106484 2015-11-26 12:03:09.152853
2015-12-18 08:44:13.184319 2015-12-18 13:10:51.707354 2015-12-18 13:09:35.938711 2015-12-18 13:02:22.650966
2016-01-31 06:41:55.165849 2016-01-31 06:44:58.004319 2016-01-31 06:43:25.923505 2016-01-31 06:42:29.955232
2016-02-15 12:22:29.051259 2016-02-22 09:29:15.649721 2016-02-22 08:40:45.221558 2016-02-16 06:52:52.368139
期望的结果是一到二和二到三之间的中值时间增量(实际数据中有更多列)
【问题讨论】:
-
median 是来自 amazon-redshift 的窗口函数:docs.aws.amazon.com/redshift/latest/dg/r_WF_MEDIAN.html 你需要放置分区。
标签: sql amazon-redshift