示例数据
DATE WindDirection
1/1/2000 SW
1/2/2000 SW
1/3/2000 SW
1/4/2000 NW
1/5/2000 NW
下面的问题
每一天都是唯一的,风向也不是唯一的,所以现在我们想得到最常见的风向的COUNT
select w.wind_direction as most_common_wd
from (
select wind_direction, count(*) as cnt
from weather
group by wind_direction
order by cnt desc
) w
limit 1;
目前这个查询有效,但是它输出所有计数的计数,我只对每种风向的计数感兴趣,它输出南并输出 170000 但答案只有 10,000。
我知道计数的使用方式有问题,我认为它必须指定一个别名并按特定的 wind_direction 进行计数,但我无法将其转换为语法
最佳答案
看起来您想要从您的数据中获取最常见的风向
select wind_direction, count(*) as cnt
from weather
group by wind_direction
order by cnt desc
limit 1;
如果有多个风向具有相同的最大计数,则获取最大计数并将其用于 having clause获取最常见的风向
select wind_direction
from weather
group by wind_direction
having count(*) = ( select max(c) from
(
select wind_direction,count(*) c
from weather
group by wind_direction
) a
)
关于hadoop - HIVE/HiveQL 获取最大计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36774800/