MinBy
1 概述
MinBy 函数用于返回某个表达式中,按照另一列的最小值排序后对应的值。
换句话说,MinBy(expr, orderBy) 会在 orderBy 最小的那一行,返回 expr 的值。
常用于“找出某个字段对应最小时间、最小价格、最小序号时的另一个字段值”。
2 语法说明
3 参数说明
| 参数 | 必需 | 参数类型 | 说明 |
|---|---|---|---|
| 返回内容 | 是 | 字段、表达式 | 需要返回的值 |
| 排序字段 | 是 | 字段、表达式 | 用于比较大小的字段(取最小值所在行) |
4 示例
4.1 查找最早下单的客户
在订单表中,CustomerID 表示客户,OrderDate 表示下单日期。我们希望找到最早下单的客户 ID。
语法示例
数据示例
| OrderID | CustomerID | OrderDate |
|---|---|---|
| 1 | C001 | 2024-01-05 |
| 2 | C002 | 2024-01-02 |
| 3 | C003 | 2024-01-10 |
计算结果
4.2 查找价格最低商品的名称
在商品表中,ProductName 表示商品名称,Price 表示价格。我们希望找到价格最低的商品。
语法示例
数据示例
| ProductID | ProductName | Price |
|---|---|---|
| P01 | Apple | 5 |
| P02 | Banana | 3 |
| P03 | Cherry | 8 |
计算结果
5 应用场景
-
取最小时间对应的记录:如最早下单客户、最早注册用户。
-
取最小数值对应的对象:如最低价格商品、最少库存的仓库。
-
数据匹配:用于在分组或全局范围内,快速找到“最小条件”对应的另一个字段。