184 похожих чатов

Ребята, хелп, есть те, кто расчитывал чтонибудь аккумулятивно в Clickhouse?

Помогите понять в чем проблема плз

Есть пример кода из документации(https://clickhouse.tech/docs/ru/sql-reference/functions/other-functions/#runningaccumulate):
SELECT
grouping,
item,
runningAccumulate(state, grouping) AS res
FROM
(
SELECT
toInt8(number / 4) AS grouping,
number AS item,
sumState(number) AS state
FROM numbers(15)
GROUP BY item
ORDER BY item ASC
);

Абсолютно аналогично ему использую реальные данные, но на выходе получаю ошибку, пол дня сижу один на один с этой проблемой - документация кликхауса ущербна в этом вопросе, гугление тоже абсолютно никчему ни привело(

Вот мой запрос(скриншот следующим сообщением):


И вобще отдельный вопрос к знактокам - вот часто слышал, что аналитики всегда выбирают кликхаус, потому что быстро работают запросы и растет эффективность работы, но вот у меня встречный вопрос - в некоторых вопросах использование кликхауса на столько серь

13 ответов

11 просмотров

ну это узкоспециализированный инструмент да, не для каждой задачи, даже не для каждой аналитической задачи...

Везде надо явно указывать колонки для группировки, зачем там вообще группировка по uniq_sessions

я может че не понимаю, но вы агрегируете и не указываете колонку в груп бай

Алексей-Веселов Автор вопроса
Ivan Kalinin
Везде надо явно указывать колонки для группировки,...

так я делаю один в один как в КХ документации - там тоже группировка идет по столбцу, который мы хотим аккумутяливно поисчтать в подзапросе - думаю дело в этой магической фунцкии sumState

Что за ошибка то?

Алексей-Веселов Автор вопроса
Пользователь 61745
я может че не понимаю, но вы агрегируете и не указ...

посмотрите пожалуйста пример из документации который я скинул - вы поймете что решение нелогично и дело не в том что я не правильно указал столбцы) решение само по себе нелогично - это посмотрите в доке

Ну так добавьте grouping в последний GROUP BY и ORDER BY

Алексей-Веселов Автор вопроса
lnuynxa
Ну так добавьте grouping в последний GROUP BY и OR...

это к сожалению не рашет проблемы я уже так сделал

Алексей-Веселов Автор вопроса
lnuynxa
Ну так добавьте grouping в последний GROUP BY и OR...

в доке указано в примере так что мы в подзапросе в групбай указывает только один столбец - по которому мы хоти кумулятивно посчитать, я делаю также

Алексей Веселов
в доке указано в примере так что мы в подзапросе в...

нет, просто в доке grouping это функция от item поэтому его можно не писать в GROUP BY, а у вас это не так

Алексей-Веселов Автор вопроса
lnuynxa
добавить, а не заменить uniq_sessions

просто на прошлом скрине не поместился весь запрос

Алексей Веселов
просто на прошлом скрине не поместился весь запрос

К слову если нужно такие запросы строить в кх я бы посмотрел на https://clickhouse.tech/docs/ru/sql-reference/functions/array-functions/#arraycumsumfunc-arr1

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта