跳转到内容

聚合函数。

ANY() 函数选取第一个遇到的(非 NULL)值,除非该列所有行的值均为 NULL。查询可以按任意顺序执行,甚至每次执行顺序都不同,因此该函数的结果是不确定的。若要获得确定的结果,可以改用 ‘min’ 或 ‘max’ 函数代替 ‘any’。

func.any(<expr>)
func.any(table.product_name).alias('any_product_name')
| any_product_name |
|------------------|
| Laptop |
ANY(<expr>)
参数 说明
<expr> 任意表达式

第一个遇到的(非 NULL)值,类型与该值的类型相同。如果所有值均为 NULL,则返回 NULL。

创建表并插入示例数据

CREATE TABLE product_data (
id INT,
product_name VARCHAR NULL,
price FLOAT NULL
);
INSERT INTO product_data (id, product_name, price)
VALUES (1, 'Laptop', 1000),
(2, NULL, 800),
(3, 'Keyboard', NULL),
(4, 'Mouse', 25),
(5, 'Monitor', 150);

查询演示:检索第一个遇到的非 NULL 产品名称

SELECT ANY(product_name) AS any_product_name
FROM product_data;

结果

| any_product_name |
|------------------|
| Laptop |