【Hive】多列最大值 或 数组最大值

 max()函数是针对单列多行求最大值。当我们想要对多列同行之间进行比较时,可以尝试以下办法:

1.先将数值转换成数组array(),再对数组排序sort_array(),通过负值使其为降序;

select -sort_array(array(-a,-b,-c))[0] as max_value
from (
    select 1 as a, 3 as b, 2 as c
) as data

2.case when:对于列数>2而言,有些啰嗦;

3.union all列转行


版权声明:本文为qq_34105362原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。