Как усреднить данные, используя последнюю запись метки времени и интервал? - PullRequest
0 голосов
/ 29 апреля 2018

У меня есть 2 устройства Arduino, которые отправляют смс (влажность, температура и количество осадков) на мою широкополосную флешку, у меня также есть приложение C #, которое сохраняет данные в тексте в моей базе данных sql, проблема в том, как я могу усреднить входные данные humidity, temperature и rainfall с обоих устройств с интервалом в 1 минуту на моем поле time, которое в настоящее время Timestamp(3)?

это не работает, но я думаю, что так оно и будет.

Select AVG(humidity) as humidity WHERE time BETWEEN (LAST INPUT TIMESTAMP) interval = 1 min?

1 Ответ

0 голосов
/ 29 апреля 2018

Я думаю, вы ищете что-то вроде этого:

Select AVG(humidity) as humidity WHERE time BETWEEN (LAST INPUT TIMESTAMP) AND DATE_SUB((LAST INPUT TIMESTAMP), INTERVAL 1 MINUTE)

Пояснение:

DATE_SUB((LAST INPUT TIMESTAMP), INTERVAL 1 MINUTE)

Ваша текущая временная метка (LAST INPUT TIMESTAMP) будет вычтена из интервала INTERVAL 1 MINUTE

Редактировать на основе вашего комментария:

Выполните выборку, чтобы получить последнюю отметку времени, например:

SELECT AVG(humidity) as humidity
FROM table
WHERE time BETWEEN (SELECT TOP 1 timestamp FROM table ORDER by timestamp DESC) 
    AND DATE_SUB((SELECT TOP 1 timestamp FROM table ORDER by timestamp DESC), INTERVAL 1 MINUTE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...