Моя база данных находится в mysql.
Есть несколько вещей, которые я пытаюсь достичь. У меня есть два временных ряда данных. Один из них записывается с интервалом 15 минут, а другой записывается всякий раз, когда происходит изменение стоимости. Я пытаюсь присоединиться к этим двум таблицам.
Желаемая таблица будет состоять из 3 столбцов, {time_stamp, table1.value, table2.value} и того же числа строк, что и таблица1
1) table1.value просто сохраняет свое значение.
2) колонки table2.value имеют последнее значение из таблицы 2, в течение 15 минут до от time_stamp в table1 в
3) если table2.value имеет нулевое значение, сохранить последнее известное значениеПоследняя запись из группы по выбору, заменить значение null на последнее известное значение
Я попытался налево присоединиться две таблицы и попытались сделать «group by» time_stamp и попытались получить последнюю запись из «group by» без успеха. Я также попытался заменить нулевые значения в полученном столбце
«используя @n: = COALESCE (table2.value, @ n)». Я думаю, что это не сработало, потому что объединенные результаты не были в порядке. Я попытался добавить заказ в конце запроса также без успеха.
Можно ли достичь только одним запросом? Цените любую помощь!
стол-1
+---------------------------------------+
|time | value |
+---------------------------+-----------+
|'2014-09-15 06:15:02.1500' | 71 |
|'2014-09-15 06:30:02.1500' | 72 |
|'2014-09-15 06:45:02.1500' | 73 |
|'2014-09-15 07:00:02.1500' | 74 |
|'2014-09-15 07:15:02.1500' | 75 |
|'2014-09-15 07:30:02.1500' | 76 |
|'2014-09-15 07:45:02.1500' | 77 |
+---------------------------+-----------+
стол-2
+---------------------------------------+
|time | value |
+---------------------------+-----------+
|'2014-09-15 06:14:02.1500' | 30 |
|'2014-09-15 06:15:02.1500' | 55 |
|'2014-09-15 06:18:02.1500' | 60 |
|'2014-09-15 06:20:02.1500' | 62 |
|'2014-09-15 06:23:02.1500' | 35 |
|'2014-09-15 07:36:02.1500' | 45 |
|'2014-09-15 07:38:02.1500' | 36 |
|'2014-09-15 07:40:02.1500' | 87 |
+---------------------------+-----------+
result_table
+---------------------------------------+----------+
|time |table1.val |table2.val|
+---------------------------+-----------+----------+
|'2014-09-15 06:15:02.1500' | 71 |30 |
|'2014-09-15 06:30:02.1500' | 72 |35 |
|'2014-09-15 06:45:02.1500' | 73 |35 |
|'2014-09-15 07:00:02.1500' | 74 |35 |
|'2014-09-15 07:15:02.1500' | 75 |35 |
|'2014-09-15 07:30:02.1500' | 76 |35 |
|'2014-09-15 07:45:02.1500' | 77 |87 |
+---------------------------+-----------+----------+
Я пробовал это. Возвращаемое значение - это посмотреть на всю таблицу-2, а не только до отметки времени. – Roijjer
Состояние на время
Pomyk
Я изменил запрос, должно быть хорошо сейчас :) – Pomyk