У меня есть следующее утверждение mysql, в основном делающее то, что я хочу, за исключением одной вещи.
SELECT
a.tmc, w.date, ROUND(AVG(a.surface_temperature), 0) surface_temperature, ROUND(AVG(a.air_temperature), 0) air_temperature,
ROUND(AVG(a.material_rate),0) material_rate,
Time_Format(w.time, '%H:00') as time,
ROUND(AVG(w.intensity), 0) intensity,
FROM application a
LEFT OUTER JOIN weather w ON a.DATE = w.DATE AND a.tmc = w.tmc
WHERE w.DATE = '" & calendar1.SelectedDate & "'
AND w.event= '" & weatherType.SelectedItem.Value & "'
AND w.City = '" & sender.CssClass & "'
GROUP BY time
Это производит:
Это нормально, но проблема в том, что в каждом месте есть несколько TMC (Думайте о TMC как о пожарных станциях в городе. В больших городах есть несколько TMC
Что мне нужно сделать, так это усреднить все, как это происходит в час, но делать это для каждого tmc, а не только для первого tmc, который появляется на основе времени и других отфильтрованных критериев.
Я собрал оба:
GROUP BY TIME AND TMC
and
GROUP BY TMC
но они оба предоставляют только 1 раз и 1 местоположение.
Как мне нужно настроить это утверждение, чтобы оно вытягивало среднее значение всех этих критериев в час на tmc?
Я хочу что-то со следующим выводом:
Time TMC Temp
4:00 107+4807 27
4:00 108+3352 32
5:00 107+4807 28
5:00 105+2274 28
Надеюсь, это имеет смысл