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

Добрый вечер Не подскажете как можно группировать данные по изменениям

в Speed поле?
Т.е. должно получиться 4 куска (1-2, 3-5, 6-8, 9-10)

12 ответов

10 просмотров

Без джойнов?)

Kiteg-Derbenev Автор вопроса
alias cd='rm -rf'
Без джойнов?)

Желательно) Вообще цель - получать периоды в которые машина двигалась, а в какие нет (соответствеено время начала и конца движения)

WITH prev AS ( SELECT time, speed, lagInFrame(speed) OVER (ORDER BY time) AS prev_speed FROM t ) SELECT time, speed, sum(abs(speed - prev_speed)) OVER (ORDER BY time) AS group FROM prev; ┌────────────────time─┬─speed─┬─group─┐ │ 2022-04-06 16:22:44 │ 1 │ 1 │ │ 2022-04-06 16:22:45 │ 1 │ 1 │ │ 2022-04-06 16:22:46 │ 0 │ 2 │ │ 2022-04-06 16:22:47 │ 0 │ 2 │ │ 2022-04-06 16:22:48 │ 0 │ 2 │ │ 2022-04-06 16:22:49 │ 1 │ 3 │ │ 2022-04-06 16:22:50 │ 1 │ 3 │ │ 2022-04-06 16:22:51 │ 1 │ 3 │ │ 2022-04-06 16:22:52 │ 0 │ 4 │ │ 2022-04-06 16:22:53 │ 0 │ 4 │ └─────────────────────┴───────┴───────┘

Тоесть на этом примере идентификатор групп будут 29:15,30:45,32:15,now()

на stack overflow множество примеров в разделе КХ, искать по gaps and islands

Kiteg Derbenev
Желательно) Вообще цель - получать периоды в котор...

на самом деле это надо делать до заливки в КХ. КХ это MPP у вас задача не решается в параллель, надо последовательно строки обрабатывать

Kiteg-Derbenev Автор вопроса
Denny [Altinity]
на самом деле это надо делать до заливки в КХ. КХ ...

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

Kiteg Derbenev
Там прикол в том что телематика вразнобой приходит...

ну а зачем вам заливать половину данных в КХ? ну задержите заливку на час в ETL

Kiteg-Derbenev Автор вопроса
Denny [Altinity]
ну а зачем вам заливать половину данных в КХ? ну ...

Данные могут приходить вразнобой вплоть до недели (тут не предскажешь)

Kiteg Derbenev
Данные могут приходить вразнобой вплоть до недели ...

ну если часть данных задержалась на неделю как вы доверяете резултатам запросов? Они же по части данных работают?

Kiteg-Derbenev Автор вопроса
Denny [Altinity]
ну если часть данных задержалась на неделю как вы ...

На неделю - редко, разве что если машина в гараже стояла. В основном в течении дня всё прилетает.

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
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
Карта сайта