Presto中的每行最小值

时间:2019-04-18 00:36:24

标签: sql presto

我在PrestoDB中有一个具有4列timestamp tz类型的表-没有NULL值-并且无法获得每行的最小值。似乎有悖常理,因为:

SELECT
(SELECT MIN(Col) FROM (VALUES (1), (2), (3), (4)) AS X(Col)) AS TheMin
FROM mytable

^使用伪整数将为所有行返回1

在我的桌子上

enter image description here

SELECT
(SELECT MIN(Col) FROM (VALUES (_col2), (_col3), (_col4), (_col5)) AS X(Col)) AS TheMin
FROM mytable

返回Presto query has failed. type cannot be null

当列中的数据类型均为timestamp tz并且零值为NULL时,怎么办?

使用列为VALUES来查找每行的最小时间戳的解决方法是什么?

1 个答案:

答案 0 :(得分:2)

只需使用LEAST()

SELECT LEAST(_col2, _col3, _col4), _col5) as TheMin
FROM mytable