SAP HANA取表中每行最小值

时间:2021-04-22 16:50:50

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

ID | COL_1 | COL_2 | COL_3
---|-------|-------|------
 1 |     5 |     3 |    2
 2 |     7 |     9 |    8
 3 |     5 |     4 |    6
想要得到每一行最小的数据值

即得到如下结果:

ID | MIN   
---|-------
 1 |     2 
 2 |     7 
 3 |     4 
很多人可能第一个想法就想到min()函数

就是下面这个写法:

SELECT ID, min(COL_1, COL_2, COL_3) FROM DUMMY;
这说明,你还不了解HANA中的min()函数

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

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

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

就是我这样的写法如下:

select least(col_1, col_2, col3_3)
from DUMMY;
这个写法可以实现上面的需求,但是有个问题,就是,如果有NULL的数值列就不行了

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

用:

COALESCE()
来处理NULL数值列

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