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

Всем привет. А можете подсказать, как таблицы timestamp, value -

найти максимально приближенное значение value к задаваемой константе? Например, у меня есть лог накопления кредитов пользователем, и я хочу понять, в какой момент времени он достиг какого-то порога (хотя его value может быть ближайшем, но не точно соответствовать константе)
Либо вверх, либо вниз

14 ответов

9 просмотров

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

если вниз то вроде MAX(value) less than or equals CONSTANT должно работать, если вверх, то MIN(value) more than CONSTANT. Ну и логично, что если верхнее есть то нинее искать не нужно, никакой специфики КХ тут вроде нет или я что -то не понял

Artem Z
если вниз то вроде MAX(value) less than or equals ...

если я правильно уловил мысль, то история примерно такая: (то бишь кумулятивная сумма с обнулением при достижении лимита) https://t.me/clickhouse_ru/185578

Alexandr-Odainik Автор вопроса
Lars Ulrich
если я правильно уловил мысль, то история примерно...

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

Lars Ulrich
если я правильно уловил мысль, то история примерно...

ну тут чуть сложнее, потому как диапазоны вроде какие -то, сорри вчитываться пока времени нет. но в теории можно на персентили разделить и использовать что -то вроде quantilesExact

Alexandr Odainik
да, очень похоже. но мне на группы не надо бить. т...

ну мне надо знать время, когда сумма продаж достигла трешхолда и смотреть дальше. типа фиксировать время выполнения плана по пятилетке

Artem Z
ну тут чуть сложнее, потому как диапазоны вроде ка...

скажем так, надо зафиксировать время выполнения плана. план в $100 выполняется, например, двумя продажами по $50, и план может быть выполнен неограниченное количество раз, по сути сто продаж по $100 в одну микросекунду - это 100 выполнений плана

Lars Ulrich
скажем так, надо зафиксировать время выполнения пл...

ну сходу приходит что -то вроде select id, sum(sale) as summary, timestamp ... ON summary equals 100 AND id > last_founded_id GROUP BY timestamp. но я не на столько часто пишу sql, тут просто поиграть с запросами нужно, точнее вряд ли подскажу.

Artem Z
ну сходу приходит что -то вроде select id, sum(sa...

чую, что пахнет чем-то из оконных функций, которых в КХ толком нет же

Lars Ulrich
чую, что пахнет чем-то из оконных функций, которых...

там примерно подразумевалось что -то вроде ``` SELECT T.Id, T.sale, T.timestamp (SELECT sum(sale) FROM Table WHERE Id <= T.Id) 'total' FROM Table T HAVING total = 100 ``` тут только нужно как -то ограничить выборку чтобы не считать уже посчитаные записи ну и да по таймштампу сортировать чтобы по порядку было

Artem Z
там примерно подразумевалось что -то вроде ``` SE...

Не вариант, надо иметь результат за всю историю

SELECT abs(dateDiff('second',dateTimeField, toDateTime('your_contant'))) AS date_distance, field1, field2 FROM table WHERE dateTimeField BETWEEN toDateTime('your_constant') - INTERVAL 1 WEEK AND toDateTime('your_constant') + INTERVAL 1 WEEK ORDER BY date_distance LIMIT 1

Alexandr-Odainik Автор вопроса
Slach [altinity]
SELECT abs(dateDiff('second',dateTimeField, toDate...

Это ж вообще не то) Константа у меня Value а не dateTime

SELECT argMin(timestamp, abs(value - $CONSTANT)) AS best_time, userid FROM users GROUP BY userid

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно 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
Карта сайта