MySQL phpMyAdmin событие подсчета среднего значения для текущей даты и времени

0

У меня есть такой запрос о MySQL, с которым я не совсем знаком, но я должен решить одну проблему. У меня есть две таблицы, то есть статистика, где я помещаю свои данные (температура, влажность) из метеостанции и таблицы avg_temp, где мне всегда нужно сохранять среднее значение, полученное в статистике за данный день. Поэтому мне нужно создать событие в phpMyAdmin таким образом, чтобы он начинался каждый день в 23:55 и вычислял среднее значение температуры и влажности с этого дня и вставлял его в таблицу avg_temp.

Существуют некоторые основные структуры моих таблиц:

Таблица avg_temp:

Изображение 174551

таблица статистики:

Изображение 174551

Это может быть что-то вроде этого, но это не работает для меня, но я надеюсь, что вы получите представление о том, что мне нужно для этого.

SELECT 'timestamp',AVG('humidity') as avgHumid
FROM stats
GROUP BY 'timestamp'
SELECT 'timestamp',AVG('temperature_C') as avgTemp
FROM stats
GROUP BY 'timestamp'
INSERT INTO avg_temp (avg_temp, avg_humid) values('$avgTemp', '$avgHumid')
Теги:
database
phpmyadmin
mysql-error-1064
weather

1 ответ

0
Лучший ответ

Вот решение, которое я нашел, которое просто решает проблему, которая у меня была...

SET @avgTemp = (SELECT AVG(temperature_C) AS avgTemp FROM (SELECT temperature_C FROM stats ORDER BY timestamp DESC LIMIT 144) a); 
SET @avgHumid = (SELECT AVG(humidity) AS avgHumid FROM (SELECT humidity FROM stats ORDER BY timestamp DESC LIMIT 144) a); 
SET @oldID = (SELECT MAX(id) FROM avg_temp ORDER BY timestamp);
SET @newID = @oldID + 1;
INSERT INTO avg_temp (id, avg_temp, avg_humid) values(@newID, @avgTemp, @avgHumid);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню