SAP HANA取表中每行最小值

2020-11-27 16:12:50 浏览数 (2)

正文部分

比如有一个表结构 数据如下:

代码语言:javascript复制
​
ID | COL_1 | COL_2 | COL_3
---|-------|-------|------
 1 |     5 |     3 |    2
 2 |     7 |     9 |    8
 3 |     5 |     4 |    6

​

想要得到每一行最小的数据值

即得到如下结果:

代码语言:javascript复制
​
ID | MIN   
---|-------
 1 |     2 
 2 |     7 
 3 |     4 

​

很多人可能第一个想法就想到min()函数

就是下面这个写法:

代码语言:javascript复制
​
SELECT ID, min(COL_1, COL_2, COL_3) FROM DUMMY;

​

这说明,你还不了解HANA中的min()函数

来简单介绍一下min()函数

min()函数一次只支持两列啊 两列啊

所以,这样的做法不行,下面来介绍个更好的

就是我这样的写法如下:

代码语言:javascript复制
​
select least(col_1, col_2, col3_3)
from DUMMY;

​

这个写法可以实现上面的需求,但是有个问题,就是,如果有NULL的数值列就不行了

那么,你可以把NULL数据值处理一下

用:

代码语言:javascript复制
​
COALESCE()

​

来处理NULL数值列

这样就完美了,O(∩_∩)O哈哈~

0 人点赞