翻译页面
本页面由 AI 辅助从英文翻译而来。如两者存在差异,以英文版本为准。
MIN
根据输入列或列分组返回最小值。
另请参阅:
[SELECT]
语法
/* aggregate function */
SELECT MIN(columnExpression) FROM <multipartIdentifier>
[ GROUP BY groupByColumn ];
/* scalar (multi-argument) function */
SELECT MIN(scalarExpression1, scalarExpressionN, ...) FROM <multipartIdentifier>;
参数
聚合函数
columnExpression
列或表达式,可包含操作数(+、- 等)。
MIN函数根据列的数据类型返回给定列的最小值,例如,对整数列执行MIN操作会返回该列或列分组中的最小整数,而对字符串列或列分组执行MIN操作会返回最小的 ASCII 值(通常是按逆字典序排序时的第一个值,但存在一些差异)。
groupByColumn
用于执行汇总或聚合操作的一列或多列。GROUP BY 子句为每个列分组返回一行。
MIN函数忽略NULL值。
如果分组中的所有值均为
NULL,则MIN函数返回NULL。
标量函数
scalarExpression
由列或表达式组成的列表(2 个或更多),从中确定并返回最小值。
如果任一参数为
NULL,则标量MIN函数返回NULL。
标量或多参数
MIN函数从左到右搜索其参数,查找定义了排序规则函数的参数,并将该排序规则函数用于所有字符串比较。
如果标量
MIN函数的参数均未定义排序规则函数,则使用BINARY排序规则函数。
如果只提供一个参数,则调用
MIN聚合函数。
返回值
根据输入数据类型(或分组)返回最小值。
示例
返回列的最小值
SELECT name, location, min(timeCreated)
FROM google.storage.buckets WHERE project = 'stackql';
返回列中每个值的最小值
SELECT name, location,
min(round(julianday('now')-julianday(timeCreated))) as age
FROM google.storage.buckets WHERE project = 'stackql'
GROUP BY location;
使用标量 min 函数从值列表中返回最小值
SELECT min(json_extract(disks, '$[0].diskSizeGb'),json_extract(disks, '$[1].diskSizeGb')) as smallest_disk
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';
将 MIN 用作窗口函数来查找分区内的最小值
-- Find the earliest issue in each state
SELECT
number,
title,
state,
created_at,
MIN(created_at) OVER (PARTITION BY state) as earliest_in_state
FROM github.issues.issues
WHERE owner = 'stackql'
AND repo = 'stackql'
ORDER BY state, created_at;
有关更多信息,请参阅 https://www.sqlite.org/lang_aggfunc.html#min_agg 或 https://www.sqlite.org/lang_corefunc.html#min_scalar。