繁体   English   中英

具有平均子查询的SQL查询

[英]SQL query with average subquery

我正在对天气数据库进行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

这将删除windspeed = 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM