跳转至

MaxBy

1 概述

MaxBy 函数用于返回某个表达式中,按照另一列的最大值排序后对应的值
换句话说,MaxBy(expr, orderBy) 会在 orderBy 最大的那一行,返回 expr 的值。
常用于“找出某个字段对应最大时间、最大价格、最大序号时的另一个字段值”。

2 语法说明

MaxBy(<返回内容>, <排序字段>)

3 参数说明

参数 必需 参数类型 说明
返回内容 字段、表达式 需要返回的值
排序字段 字段、表达式 用于比较大小的字段(取最大值所在行)

4 示例

4.1 查找最近下单的客户

在订单表中,CustomerID 表示客户,OrderDate 表示下单日期。我们希望找到最近下单的客户 ID。

语法示例

MaxBy(CustomerID, OrderDate)

数据示例

OrderID CustomerID OrderDate
1 C001 2024-01-05
2 C002 2024-01-02
3 C003 2024-01-10

计算结果

MaxBy(CustomerID, OrderDate) = C003

4.2 查找价格最高商品的名称

在商品表中,ProductName 表示商品名称,Price 表示价格。我们希望找到价格最高的商品。

语法示例

MaxBy(ProductName, Price)

数据示例

ProductID ProductName Price
P01 Apple 5
P02 Banana 3
P03 Cherry 8

计算结果

MaxBy(ProductName, Price) = Cherry

5 应用场景

  • 取最大时间对应的记录:如最近下单客户、最近登录用户。

  • 取最大数值对应的对象:如最高价格商品、最高销量门店。

  • 数据匹配:用于在分组或全局范围内,快速找到“最大条件”对应的另一个字段。