我在PrestoDB中有一个具有4列timestamp tz
类型的表-没有NULL值-并且无法获得每行的最小值。似乎有悖常理,因为:
SELECT
(SELECT MIN(Col) FROM (VALUES (1), (2), (3), (4)) AS X(Col)) AS TheMin
FROM mytable
^使用伪整数将为所有行返回1
在我的桌子上
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
来查找每行的最小时间戳的解决方法是什么?
答案 0 :(得分:2)
只需使用LEAST()
:
SELECT LEAST(_col2, _col3, _col4), _col5) as TheMin
FROM mytable