Sql 为什么它不能像处理绝对数“风速”那样处理平均值呢?
我做了以下工作:Sql 为什么它不能像处理绝对数“风速”那样处理平均值呢?,sql,Sql,我做了以下工作: select distinct year, month, day, wind_speed case when avg(wind_speed)>25 then 'HIGH' when avg(wind_speed) between 15 and 25 then 'MODERATE' else 'LOW' end as wind_severity from station_data order by avg(wind_speed) de
select distinct year, month, day, wind_speed
case
when avg(wind_speed)>25 then 'HIGH'
when avg(wind_speed) between 15 and 25 then 'MODERATE'
else 'LOW'
end as wind_severity
from station_data
order by avg(wind_speed) desc;
最后,它只显示了一行28000个可能的条目。如果我们每年只取一个平均值,它必须大约为10000!
谢谢 您有一个没有分组依据的聚合查询。使用分组方式:
请注意,大小写表达式是按顺序计算的,因此中间的表达式不需要介于两者之间。我删除了不一致的数据库标记。请仅使用实际使用的数据库进行标记。如果使用DISTINCT with AGGRATE函数,则这通常是GROUP BY子句错误的良好指示。
select year, month, day,
(case when avg(wind_speed) > 25 then 'HIGH'
when avg(wind_speed) >= 15 then 'MODERATE'
else 'LOW'
end) as wind_severity
from station_data
group by year, month, day
order by avg(wind_speed) desc;