Используйте совокупный результат еще раз на другомPython

Программы на Python
Ответить
Anonymous
 Используйте совокупный результат еще раз на другом

Сообщение Anonymous »

Я пытаюсь использовать запрос GROUP BY с DuckDB. У меня возникли проблемы с некоторыми вложенными агрегатами, и я не знаю, как к ним подойти (в сфере SQL). Для каждой группы агрегатов я хочу:
  • Вычислить среднее значение агрегата
  • Затем в каждом агрегате для заданную цену, вычтите этот агрегат, чтобы вычислить другой агрегат.
Я пытался просмотреть векторизованные UDF-функции со стрелками, но не смог найти подробностей о поддерживаются ли они DuckDB?
Текущий код Я работаю с файлом паркета, имеющим цену и размер в заданную временную метку:

Код: Выделить всё

    df = duckdb.sql(f"""
SELECT timestamp,
first(price) AS start
sum(size) AS vol,
sum(price * size).divide(vol) AS mean,
sum(price - mean) AS subtract_mean, ## This line does not ###work
FROM '{file_raw_parquet}'
GROUP BY timestamp
""")
Я отметил строку, с которой у меня возникли проблемы. Должен ли я альтернативно вычислить среднее значение в другой таблице, чтобы оно было , затем ПРИСОЕДИНИТЬ его к основной таблице, а затем вычислить GROUP BY?
Я нашел похожую тему, в которой говорилось о повторном использовании оператора group by: Повторно использовать совокупный результат, но он немного отличался от того, что я получил.
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/793 ... on-another
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»