argMax

计算 val 最大值对应的 arg 值。 如果 val 最大值存在几个不同的 arg 值,输出遇到的第一个值。

这个函数的Tuple版本将返回 val 最大值对应的元组。本函数适合和 SimpleAggregateFunction 搭配使用。

语法

  1. argMax(arg, val)

  1. argMax(tuple(arg, val))

参数

  • arg — Argument.
  • val — Value.

返回值

  • val 最大值对应的 arg 值。

类型: 匹配 arg 类型。

对于输入中的元组:

  • 元组 (arg, val), 其中 val 最大值,arg 是对应的值。

类型: 元组

示例

输入表:

  1. ┌─user─────┬─salary─┐
  2. director 5000
  3. manager 3000
  4. worker 1000
  5. └──────────┴────────┘

查询:

  1. SELECT argMax(user, salary), argMax(tuple(user, salary), salary), argMax(tuple(user, salary)) FROM salary;

结果:

  1. ┌─argMax(user, salary)─┬─argMax(tuple(user, salary), salary)─┬─argMax(tuple(user, salary))─┐
  2. director ('director',5000) ('director',5000)
  3. └──────────────────────┴─────────────────────────────────────┴─────────────────────────────┘