max_by
功能
返回与 y 的最大值相关联的 x 值。比如 SELECT max_by(subject, exam_result) FROM exam; 表示返回 exam 表中考试得分最高的科目。该函数从 2.5 版本开始支持。
语法
max_by(x,y)
参数说明
-
x: 一个任意类型的表达式。 -
y: 可以排序的某个类型的表达式。
返回值说明
返回值的类型与 x 相同。
使用说明
-
y必须是可排序的数据类型。如果y不可排序,比如是 BITMAP 或者 HLL 类型,返回报错。 -
y值包含 NULL 时,NULL 对应的行不参与计算。 -
如果存在多行都有最大值,则返回最先出现的那个
x值。
示例
-
创建表
exam。CREATE TABLE exam (
subject_id INT,
subject STRING,
exam_result INT
) DISTRIBUTED BY HASH(`subject_id`);