Hive学习笔记:多列求最大值、最小值
一、最大值
当在 Hive
中需要对多列数据求最大值时,可以使用函数 greatest(a, b, c, d)
实现。
select greatest(a, b, c) from
(
select 10 as a,
20 as b,
30 as c
) dd;
-- 结果:30
举个具体栗子:计算用户消费时,如果用户套餐有最低消费129元的话,不满129则按129收费,则计算为:greatest(ARPU, 129)
。
二、最小值
同理,求多列最小值可使用函数 least(a, b, c, d)
实现。
-- 例子一
select least(a, b, c) from
(
select 10 as a,
20 as b,
30 as c
) dd
-- 结果:10
-- 例子二
select least(a, b, c, d) from
(
select 10 as a,
20 as b,
30 as c,
null as d
) dd;
-- 结果:null
注意:关注列中的空值 NULL
,greatest
和 least
会判断空值为最大、最小,导致出错。
使用两个函数时,注意需要同样类型的数据,才可进行比较。
三、max和min
取某一列的最大、最小值,可以使用 max
和 min
函数实现。
select max(age) as age_max,
min(age) as age_min
from age_table;
参考链接:hive sql 多行值取最大值、最小值
参考链接:hive中取最大值最小值的函数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2019-10-23 MySQL学习笔记:count(1)、count(*)、count(字段)的区别
2019-10-23 LeetCode:183.从不订购的客户
2019-10-23 LeetCode:620.有趣的电影
2019-10-23 LeetCode:181.超过经理收入的员工
2019-10-23 LeetCode:175.组合两个表