У меня есть очень большая таблица, где у меня температура регистрируется каждые 1 мин, то, что я хотел бы запросить, - это тренд; что-то как процентное увеличение или процентного снижения за выбранный период (час или 15 минут, в зависимости от запроса)Запрос Mysql, чтобы получить тенденцию температуры
мой стол выглядит (пример), как в следующем
ID time temp
119950 2013-03-27 07:56:05 27.25
119951 2013-03-27 07:57:05 27.50
119952 2013-03-27 07:58:05 27.60
119953 2013-03-27 07:59:05 27.80
119954 2013-03-27 08:00:05 27.70
119955 2013-03-27 08:01:05 27.50
119956 2013-03-27 08:02:05 27.25
119957 2013-03-27 08:03:05 27.10
119958 2013-03-27 08:04:05 26.9
119959 2013-03-27 08:05:05 27.1
119960 2013-03-27 08:06:05 27.25
119961 2013-03-27 08:07:05 27.6
Я считаю, что тенденция может быть рассчитана следующим образом (согласно link), но исправьте меня, если у вас есть лучший способ; берем разницу между каждой строкой, затем добавляем вверх и делим на подсчет. поэтому для таблицы выше мы получаем
Diff
+0.25
+0.10
+0.20
-0.10
-0.20
-0.25
-0.15
-0.20
+0.20
+0.15
+0.35
Тенденция в минуту за последние 11 минут представляет собой сумму diff/11. который дает 0.063C в минуту за последние 11 минут.
Может кто-то, пожалуйста, помогите мне получить процентную тенденцию в час за последние 3 часа. и тренд в минуту в течение 1 часа?
Заметим, что сумма всех этих различий равна разнице между начальное и конечное значения. Следовательно, изменение процента может быть получено из «final/initial-1» - например, '27.6/27.25 - 1 ~ = + 1.28%'. – eggyal
Спасибо, но приведенная выше таблица - всего лишь пример. это исключение. обычно значения будут повсюду, и сумма всех различий не будет равна разнице между начальным и конечным. – Ossama
Нет - сумма всех различий будет * всегда * равна разности между начальным и конечным из-за ассоциативности сложения. – eggyal