跳转至

MinBy

1 概述

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

2 语法说明

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

3 参数说明

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

4 示例

4.1 查找最早下单的客户

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

语法示例

MinBy(CustomerID, OrderDate)

数据示例

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

计算结果

MinBy(CustomerID, OrderDate) = C002

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

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

语法示例

MinBy(ProductName, Price)

数据示例

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

计算结果

MinBy(ProductName, Price) = Banana

5 应用场景

  • 取最小时间对应的记录:如最早下单客户、最早注册用户。

  • 取最小数值对应的对象:如最低价格商品、最少库存的仓库。

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