帮助调整mymysql语句以生成所需的查询
下面的mysql语句基本上实现了我希望它实现的功能,除了一件事帮助调整mymysql语句以生成所需的查询,mysql,select,group-by,Mysql,Select,Group By,下面的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, R
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
我希望这是有意义的我想你需要用逗号把它们分开:
GROUP BY time, tmc
这可能不是很清楚:
i、 例如,您可以指定多个列以形成更细粒度的组
当您指定逻辑组合时,如
GROUP BY TIME AND TMC
事情看起来似乎是可行的,但生成的组将取决于时间和tmc的“逻辑”值-您将为同时显示为“true”的行生成一个组,并为其他所有行生成一个组。是的,逗号按值分隔组。第一个值将优先。因此,如果您说
按时间分组,tmc将按时间分组时间
如果时间
相同,它将按TMC
GROUP BY TIME AND TMC