是否有一个函数可以在Google BigQuery中获得两个值的最大值?

时间:2013-09-27 14:36:47

标签: google-bigquery

我希望获得2 Integer(或2 float)的最大值。

我知道我可以用这样的IF函数来做到这一点:     IF(column1> column2,column1,column2)

但是我想知道是否存在这样做的功能,或者是否有计划在将来添加这种功能。

在MySQL中有GREATER功能可以做到这一点。示例:GREATER(column1,column2)。

2 个答案:

答案 0 :(得分:14)

BigQuery支持

GREATEST(expr1, expr2, ...) 

返回最大的参数。我已经提交了一个内部错误,将其添加到我们的公共文档中。

答案 1 :(得分:3)

目前还没有函数可以返回BigQuery中两个值中较大的一个。如果您最终需要在单个查询中大量计算该值,则可以始终在子选择中获得更大的值。

例如:

SELECT gr 
FROM (
    SELECT IF(column1 > column2, column1, column2) as gr 
    FROM [my_dataset.my_table])
WHERE gr > 27
GROUP BY gr