【HANA系列】SAP HANA SQL取表中每行最小值

时间:2023-03-09 23:13:22
【HANA系列】SAP HANA SQL取表中每行最小值
公众号:SAP Technical
本文作者:matinal

【HANA系列】SAP HANA SQL取表中每行最小值

前言部分

大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。

正文部分

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


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哈哈~