Возвращение медианных значений дельт времени в разных группах - PullRequest
0 голосов
/ 16 мая 2019

Попытка вычислить диапазон между различными шагами в моей таблице данных и вернуть медиану для каждого вычисления, используя этот код SQL:

SELECT median(datediff(seconds,one,two)) as step_one,
       median(datediff(seconds,two,three)) as step_two,
FROM Table

Возвращает следующее сообщение об ошибке:

[0A000] [500310] Amazon Недопустимая операция: в группе предложения ORDER BY для агрегатных функций должны быть одинаковыми;java.lang.RuntimeException: com.amazon.support.exceptions.ErrorException: Amazon Недопустимая операция: в пределах группы предложения 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

Желаемый результат - это среднее значение разницы во времени от одного до двух, от двух до трех (в фактических данных больше столбцов)

1 Ответ

0 голосов
/ 27 июня 2019

Если оператор включает в себя несколько вызовов агрегированных функций на основе сортировки (LISTAGG, PERCENTILE_CONT или MEDIAN), все они должны использовать одинаковые значения ORDER BY. Обратите внимание, что MEDIAN применяет неявный порядок к значению выражения.

С https://docs.aws.amazon.com/redshift/latest/dg/r_PERCENTILE_CONT.html

...