目录背景介绍
greate
st
函数
基本用法:简单示例lea
st
函数
基本用法:简单示例实战需求:有
两个
字段
,第一个
字段
是creat_time,第二个
字段
是update_time,现在的需求是如果两列
字段
有一个为空则
取
另一列
字段
的值,如果两列的值均不为空,则
取
较大的值;
在工作开发中遇到
取
两列值中最大的值,当时首先想到的是max
函数
,因为在java中经常有类似的比较
两个
数值大小的情况,后来意识到max是
取
一列中的
最大值
,查询其他资料得知需要用到
greate
st
函数
,特意把
greate
st
函数
和lea
st
select lea
st
(-1, 0, 5, 8) -- -1
greate
st
和lea
st
函数
是
取
某一行中的最大或者最小值,但一定是比较相同类型的数据,如果数据类..
hive
中是有max()和min()
函数
的
但是,那是用在求某一列
字段
的
最大值
/最小值的,很明显在这里是不能派上用场的~
那么,既然现在是多个
字段
,那能不能把它们塞到一个
字段
去呢?然后再用上
最大值
/最小值方法
嗯哼,哦豁,儿豁,这个思路好像可以(=_=)
这不就是数组的概念嘛
,sort_array(array(CA
ST
(t1.MJE_FORE_QTY as int),CA
ST
(t2.MJY_
Hive
是基于hadoop的数据仓库工具,能够将一张结构化的数据文件映射为一张数据库表。以便于在
Hive
中通过类似于传统sql(
Hive
中我们叫hql)做数据分析等工作。
Hive
默认计算模型是MapperReduce,将hql转换成MR任务进行计算;在
Hive
中还有
Hive
on Spark的模式,这里仅做了解。本文主要是在工作中使用
Hive
的时候,对一些用到的
函数
进行记录,以便后续查阅...
insert into table te
st
2 values(5,1,3,8,6);
insert into table te
st
2 values(6,2,5,11,9);
查询显示如下:
3. 现在要求出a,b,c,d,e 5...
在工作开发中遇到
取
两列值中最大的值,当时首先想到的是max
函数
,因为在java中经常有类似的比较
两个
数值大小的情况,后来意识到max是
取
一列中的
最大值
,查询其他资料得知需要用到
greate
st
函数
,特意把
greate
st
函数
和lea
st
函数
的简单用法总结下。
greate
st
(col_a, col_b, ..., col_n)比较n个column的大小,过滤掉null或对null值进行处理,当某个column中是
st
ring,而其他是int/double/float等时,返回null;
- 将这个
最大值
当做一张表然后去关联原有表
- 让这个原有表的
字段
和
最大值
这个
字段
去关联相等,则能找出
最大值
记录
select * from antenna a cross join (select max(VERTICAL) maxv from antenna ) as b where a.vertical=b.m...
2 min,max是求一列中的
最大值
最小值。所以传入的是一个列名。而
greate
st
和lea
st
是求一行里面
多列
的
最大值
。所以传入参数是
多列
。但是只会对一行数据进行计算 ,因为他不是聚合
函数
!1 max和min是聚合
函数
,如果使用一般需要同步跟一个group by 而
greate
st
和lea
st
则不需要。如果greaat 和lea
st
后面直接group by则会报错。首先max和
greate
st
都是
求最大值
,min和lea
st
都是求最小值,区别在于2点。