SQLite MIN函数:在集合中查找最小值
SQLite-MIN函数简介
下面说明了SQLite MIN函数的语法:
MIN([ALL|DISTINCT] expression);
MIN函数默认使用ALL。与MAX函数类似,MIN函数忽略空值。因此,它返回一组值中的非空最小值。
表达式可以是列,也可以是由列和运算符组成的表达式。
请注意,DISTINCT与MIN函数无关。
如果将SELECT语句与ORDER BY和WHERE子句一起使用,则第一个最小非空值将出现在结果集的第一行。
SELECT
column
FROM
table
WHERE
column IS NOT NULL
ORDER BY
column DESC;
试试看
MIN函数何时返回空值?我们很高兴你这么问。
当且仅当集合中只有空值时,MIN函数返回空值。
SQLite MIN函数示例
我们将使用示例数据库中的tracks表来演示MIN函数。
要获得最短轨迹,请按如下方式使用MIN函数:
SELECT
min(Milliseconds)
FROM
tracks;
试试看
子查询中的SQLite MIN函数
要获得完整的最短轨迹信息,需要使用子查询。
外部查询根据使用MIN函数的子查询返回的毫秒数从tracks表获取完整信息。
请参见以下查询。
SELECT
trackid,
name,
milliseconds
FROM
tracks
WHERE
milliseconds = (
SELECT
min(Milliseconds)
FROM
tracks
);
试试看
带有GROUP BY子句示例的SQLite MIN函数
使用GROUP BY子句的MIN函数可以找到每个相册的最短曲目。GROUP BY子句将一组行分组。MIN函数查找每个组的最小值。
以下陈述说明了这一想法:
SELECT
albumid,
min(milliseconds)
FROM
tracks
GROUP BY
albumid;
试试看
带有HAVING子句示例的SQLite MIN函数
可以使用HAVING子句筛选组。例如,当与MIN功能结合使用时,您可以找到相册及其最短曲目,其中每个最短曲目的长度小于10秒。
SELECT
albumid,
min(milliseconds)
FROM
tracks
GROUP BY
albumid
HAVING
MIN(milliseconds) < 10000;
试试看
在本教程中,您学习了如何使用SQLite MIN函数在一组值中查找最小值。