Как правильно посчитать количество через count/sum

800 views
Skip to first unread message

Александр Ат

unread,
Jul 27, 2016, 3:40:12 AM7/27/16
to ClickHouse
В общем решил перекинуть систему агрегированной статистики системы в КХ так как старая себя не оправдывает за неделю выбрать данные не позволяет

В таблице есть 5-6 счетчиков полей 3 поля суммы и 5-7 полей для фильтров все не буду описывать.


CREATE TABLE stat
(
   event_date
Date,
   time
UInt16,
   user_id
Int32,
   click
Int8,    -- счетчик
   push_send int8
)
ENGINE
= MergeTree(event_date, (event_date,user_id), 8192);

Запрос
SELECT event_date, count(click=1) as click_count, count(push_send=1) FROM stat WHERE event_date<=:date GROUP BY event_date
Выписывает
Code: 42, e.displayText() = DB::Exception: Passed 1 arguments to nullary aggregate function count, e.what() = DB::Exception

Подскажите как правильно? как то тяжело переходить с mysql/pg в кх.

Александр Ат

unread,
Jul 27, 2016, 8:00:13 AM7/27/16
to ClickHouse
с select запросами разобрался а вот стал получать ошибку при вставке 

Code: 53, e.displayText() = DB::Exception: Type mismatch in IN or VALUES section: Int64 expected, String got: (at row 1), e.what() = DB::Exception

Александр Ат

unread,
Jul 27, 2016, 8:09:30 AM7/27/16
to ClickHouse
Вроде понял у меня ORM число в строку в " ' " оборачивает

среда, 27 июля 2016 г., 15:00:13 UTC+3 пользователь Александр Ат написал:

Mike Eremin

unread,
Jul 27, 2016, 8:33:32 AM7/27/16
to ClickHouse
А полный sql? или шелл комманада?
Вообще есть функции str*to*int разнообразные. Очень быстрые. Пользуюсь ими.

Миша

среда, 27 июля 2016 г., 15:09:30 UTC+3 пользователь Александр Ат написал:

Александр Ат

unread,
Jul 27, 2016, 9:23:36 AM7/27/16
to ClickHouse
Вроде нашел в чем проблема, в слабой типизации php число было в строке.
Придется допиливать ActiveRecord для моделей в Yii2

среда, 27 июля 2016 г., 15:33:32 UTC+3 пользователь Mike Eremin написал:

Mikhail Eremin

unread,
Jul 27, 2016, 9:25:01 AM7/27/16
to Александр Ат, ClickHouse
Не подскажу. На пхп не пишу

--
You received this message because you are subscribed to a topic in the Google Groups "ClickHouse" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clickhouse/vFX7ifdFN_I/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clickhouse+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/clickhouse/af59ade3-c12a-41e3-8b3e-7f669140f869%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages