Size: a a a

ClickHouse не тормозит

2020 June 26

K

Kid in ClickHouse не тормозит
Dj
select t1.a as t1_a, t2.a as t2_a from t1 join t2 using (a)
совпадений нет по ключам
то есть данные рандомные
сча поправлю набор
источник

K

Kid in ClickHouse не тормозит
Dj
select t1.a as t1_a, t2.a as t2_a from t1 join t2 using (a)
поправил
источник

AP

Alexander Petrov in ClickHouse не тормозит
По номеру строки совпадение что ли?
источник

AP

Alexander Petrov in ClickHouse не тормозит
Много таких строк?
источник

K

Kid in ClickHouse не тормозит
Alexander Petrov
По номеру строки совпадение что ли?
типа того, но просто взять и столбцы тупо рядом с друг другом поставить
строк много
источник

D

Dj in ClickHouse не тормозит
Kid
типа того, но просто взять и столбцы тупо рядом с друг другом поставить
строк много
у вас очень странный запрос. в КХ нет понятия номер строки. на каждый селект у вас данные могут вернутся в любом порядке
источник

K

Kid in ClickHouse не тормозит
Dj
у вас очень странный запрос. в КХ нет понятия номер строки. на каждый селект у вас данные могут вернутся в любом порядке
я понимаю, я их прежде сортирую
источник

K

Kid in ClickHouse не тормозит
Dj
у вас очень странный запрос. в КХ нет понятия номер строки. на каждый селект у вас данные могут вернутся в любом порядке
вопрос в том, можно ли так сделать? и если можно то как?
источник

D

Dj in ClickHouse не тормозит
Kid
я понимаю, я их прежде сортирую
ну так если сортируете, может и сджойните по ключу сортировки?
источник

K

Kid in ClickHouse не тормозит
Dj
ну так если сортируете, может и сджойните по ключу сортировки?
не, там сортировка по времени
таблица такая: столбец 1 наименование события,  столбец 2 - время события
Есть много событий
Есть событие старт, есть событие конец.
Я хочу вывести начало - конец
Они идут последовательно
источник

D

Dj in ClickHouse не тормозит
Kid
не, там сортировка по времени
таблица такая: столбец 1 наименование события,  столбец 2 - время события
Есть много событий
Есть событие старт, есть событие конец.
Я хочу вывести начало - конец
Они идут последовательно
лучше groupArray с group by eventName
источник

AP

Alexander Petrov in ClickHouse не тормозит
И это хранится в 2х разных таблицах? Или таблицу саму на себя надо отобразить?
источник

K

Kid in ClickHouse не тормозит
Alexander Petrov
И это хранится в 2х разных таблицах? Или таблицу саму на себя надо отобразить?
в одной
саму на себя
источник

D

Dj in ClickHouse не тормозит
Kid
в одной
саму на себя
как-то так даже можно
select evtType, min(evttime), max(evttime) from (
select (arrayJoin([(1,'evt1'),(2,'evt1'),(3,'evt2'), (4,'evt2')]) as arr).1 as evttime, arr.2 as evtType
) group by evtType

а вообще много чего можно, сделайте селект с симулированными данными, будет проще думать
источник

AP

Alexander Petrov in ClickHouse не тормозит
или так, если строк не очень много:
SELECT
   pair[1]      AS first_action,
   pair[2]      AS second_action,
   timestamp[1] AS start,
   timestamp[2] AS end
FROM
(
   SELECT
       arraySplit((a,i)-> i % 2 = 1, groupArray(action) as actions,arrayMap(a->if(a='s',1,2), actions) as ind) as pairs,
       arraySplit((t,i)-> i % 2 = 1, groupArray(time),ind) as timestamps
   FROM
   (
       SELECT
           now() + t AS time,
           action
       FROM system.one
       ARRAY JOIN
           [1,2,3,4,5,6,7,8,9,10] AS t,
           ['s','1','7','e','8','s','6','e','s','e'] AS action
       ORDER BY time
   )
   WHERE action in ('s','e')
)
ARRAY JOIN
   pairs AS pair,
   timestamps AS timestamp
источник

AP

Alexander Petrov in ClickHouse не тормозит
В данном случае симулированные данные это:
SELECT
   now() + t AS time,
   action
FROM system.one
ARRAY JOIN
   [1,2,3,4,5,6,7,8,9,10] AS t,
   ['s','1','7','e','8','s','6','e','s','e'] AS action
ORDER BY time
источник

AP

Alexander Petrov in ClickHouse не тормозит
arraySplit правда недавно завезли
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Kid
Добрый вечер. Подскажите как вывести два столбца из разных таблиц рядом?
нужно что-то типа
select id, null from table
union all
select null, id from table2.
Можно ли это как то сделать? И если разное количество строк, то просто заполнить это null
Ну так во внешнем запросе можно сгруппировать по времени union all и поля посчитать argmax и max
источник

K

Kid in ClickHouse не тормозит
Сейчас попробую на своих, спасибо
источник

AP

Alexander Petrov in ClickHouse не тормозит
Ответ ещё, наверное, зависит от того какие планы на результат запроса, может можно оптимальнее посчитать ответ на вопрос про который мы пока не знаем ни чего.
источник