2016-01-22 3 views
1

У меня есть таблица с (среди других значений) температуры в течение последних 4 часов. При составлении графика этого я могу видеть «тенденцию» графика на мгновение глаза:Вычисление тенденции значения во времени

enter image description here

Толстая красная линия, очевидно, имеет отрицательное направление. В то время как зеленая линия имеет положительное направление.

Как я могу рассчитать это значение «направления» за последние 3 часа. Эти данные могут быть полученными из базы данных с помощью следующего SQL-заявлений:

SELECT temp FROM weather WHERE time_utc => NOW() - INTERVAL 3 HOUR 

Есть функция как AVG() или что-то, чтобы вычислить это или я overthinking это?

+0

Рассмотрите проблемы с выборкой данных в разных временных масштабах. Если выборочно один раз в час (или день или месяц), хотя промежуточные значения дико выше и ниже выборок, какое значение имеет для * тенденция *? То есть лучше уточнить, что означает результат * *. – wallyk

+0

Можете ли вы изменить схему таким образом, чтобы при вводе новой погоды у вас был другой столбец diff_temp, который представляет собой разницу между новой и последней? –

+0

Возможно, у нас разные глаза. Как сказал @wallyk, вам нужно указать правила для определенной тенденции, потому что для меня красная линия была стабильной до тех пор, пока не начнется снижение бит litle в третьем блоке. Но если вы видите второй блок, красная линия имеет всплеск. Так может быть увеличение или уменьшение тенденции в то время. –

ответ

1

Что об этом:

SELECT HOUR(time_utc) as hour_group, AVG(temp) 
    FROM weather 
    WHERE time_utc => NOW() - INTERVAL 3 HOUR 
    GROUP BY hour_group 

Таким образом, вы разделите свои меры в часовой блок и может сравнить первый с последним?