Назначить одну и ту же метку времени записям с очень близкими метками времени - PullRequest
0 голосов
/ 02 мая 2020

У меня показания с метра (volkszaehler). Они хранятся в таблице, называемой данными. Они разделены на каналы (я использую три из них), каждому назначен channel_id. Измеритель группирует измерения всех каналов в один пакет, но каждой записи присваивается метка времени точного момента, когда она пришла. Это приводит к тому, что записи из одного и того же пакета передачи отличаются приблизительно на 150 мс. Всплески приходят каждые 2 секунды. Я хотел бы назначить всем значениям из одного пакета одну и ту же метку времени. Мне удалось сделать это для отдельного пакета, используя

update data set timestamp = 1588000380747 where timestamp > 1588000380747 and timestamp < 1588000380747+200;

Но я только сегодня начал SQL и не знаю, как это сделать для всей таблицы. Я хотел бы выбрать один из каналов для предоставления эталонной отметки времени

edit: пример данных:

MariaDB [volkszaehler]> select channel_id,timestamp from data where timestamp>1588450394946 and timestamp <1588450402946 order by timestamp;
+------------+---------------+
| channel_id | timestamp     |
+------------+---------------+
|          3 | 1588450396788 |
|          4 | 1588450396827 |
|          2 | 1588450396946 |
|          3 | 1588450398788 |
|          4 | 1588450398827 |
|          2 | 1588450398946 |
|          3 | 1588450400788 |
|          4 | 1588450400827 |
|          2 | 1588450400946 |

требуемые результаты:

+------------+---------------+
| channel_id | timestamp     |
+------------+---------------+
|          3 | 1588450396946 |
|          4 | 1588450396946 |
|          2 | 1588450396946 |
|          3 | 1588450398946 |
|          4 | 1588450398946 |
|          2 | 1588450398946 |
|          3 | 1588450400946 |
|          4 | 1588450400946 |
|          2 | 1588450400946 |

Версия: Server версия: 10.3.22-MariaDB-0 + deb10u1 Raspbian 10

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...