У меня есть таблица с именем «raw_temp» в MySQL (10.1.44-MariaDB), которая называется «test».
Она содержит значения датчика в следующем формате, и, к сожалению, я не могу сделать что-нибудь о формате.
+----+--------+--------+--------+--------+--------+--------+---------------------+
| id | api | value1 | value2 | value3 | value4 | value5 | reading_time |
+----+--------+--------+--------+--------+--------+--------+---------------------+
| 1 | asdasd | 1968 | 19.70 | 52.50 | NULL | NULL | 2020-03-02 21:34:46 |
| 2 | asdasd | NULL | NULL | NULL | 100 | NULL | 2020-03-02 21:35:46 |
| 3 | asdasd | 1974 | 19.70 | 52.50 | NULL | NULL | 2020-03-02 21:37:47 |
| 4 | asdasd | NULL | NULL | NULL | NULL | 88 | 2020-03-02 21:39:05 |
| 5 | xdfsgh | 2543 | NULL | NULL | NULL | NULL | 2020-03-02 21:39:49 |
+----+--------+--------+--------+--------+--------+--------+---------------------+
Я хотел бы иметь возможность получить следующее из запроса SELECT, где read_time находится между "2020-03-02 21:35:01" и "2020-03" -02 21:40:00 ". Наименьшая одна строка для каждого значения «api» и столбцы значений, показывающие последнее значение чтения, отличное от NULL (и, если их нет, показывают NULL) и столбец времени чтения значения, показывающий ассоциированное время чтения для этого значения (возможно, это вместе с таблицей ниже имеет смысл).
Возможно ли это вообще сначала в операторе MySQL SELECT (у меня также есть возможность использовать Python для создания сводки (я думаю, с циклами и списками)? Например, в действительности имеется около 2000 строк значений датчика и около 150 значений API, и в идеале мне бы хотелось, чтобы запрос выполнялся в течение <1 минуты, чтобы дать время для другой обработки до следующего 5-минутного интервала. </p>
+--------+--------+---------------------+--------+---------------------+--------+---------------------+--------+----------------------+--------+----------------------+
| api | value1 | value1_reading_time | value2 | value2_reading_time | value3 | value3_reading_time | value4 | value4_reading_time | value5 | value5_reading_time |
+--------+--------+---------------------+--------+---------------------+--------+---------------------+--------+----------------------+--------+----------------------+
| asdasd | 1974 | 2020-03-02 21:37:47 | 19.70 | 2020-03-02 21:37:47 | 52.50 | 2020-03-02 21:37:47 | 100 | 2020-03-02 21:35:46 | 88 | 2020-03-02 21:39:05 |
| xdfsgh | 2543 | 2020-03-02 21:39:49 | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL |
+--------+--------+---------------------+--------+---------------------+--------+---------------------+--------+----------------------+--------+----------------------+