我正在对天气数据库进行 SQL 查询,我需要wind_direction 和windspeed。
这是我的当前查询:
SELECT wind_direction,
windspeed
FROM weather
WHERE time >= curdate() and
time < (curdate() + interval 1 day) AND
windspeed > 0
ORDER BY wind_direction ASC
这将删除风速 = 0 的所有值,并且只显示今天的数据。
查询输出:
wind_direction windspeed
0 10.1
0 11.2
23 7.6
23 1.4
如您所见,我得到了可以理解的重复值,但我的图形系统不支持这一点,它不知道要使用哪个值。
我需要的是一个独特的 wind_direction 和该方向的 avg() 风速。
最佳答案
SELECT wind_direction, AVG(windspeed)
FROM weather
WHERE time >= curdate() and time < (curdate() + interval 1 day)
AND windspeed > 0
GROUP BY
wind_direction
ORDER BY
wind_direction ASC
如果你想要一个
wind_direction
,比如说,平均速度最大的,使用这个:SELECT wind_direction, AVG(windspeed) AS avg_speed
FROM weather
WHERE time >= curdate() and time < (curdate() + interval 1 day)
AND windspeed > 0
GROUP BY
wind_direction
ORDER BY
avg_speed DESC
LIMIT 1
关于mysql - 带有平均子查询的 SQL 查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5301644/