首页 > 解决方案 > 如何获取记录中列值的最大值?(大查询)

问题描述

我想获得每行的最大值,而不是字段的最大值。例如,当我有这样的 sample_table 时:

样本表

|col1|col2|col3|
|--------------|
| 1  | 0  | 0  |
| 0  | 2  | 0  |
| 2  | 0  | 0  |
| 0  | 0  | 3  |

我想要的查询和结果是这样的:

询问

SELECT SOME_GET_MAX_VAL_FUNC(col1, col2, col3) AS max_val FROM sample_table;

结果

|max_val|
|-------|
|   1   |
|   2   |
|   2   |
|   3   |

我想要一些解决方案来替换SOME_GET_MAX_VAL_FUNC. 如果在 SQL 中这几乎是不可能的,为什么会这样呢?(我是 SQL 和 BigQuery 的新手)

笔记

标签: sqlgoogle-bigquery

解决方案


你想要GREATEST

SELECT GREATEST(col1, col2, col3) 
FROM table t;

推荐阅读