> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 返回列中遇到的第一个值。

# any

<div id="any">
  ## any
</div>

首次引入于：v1.1.0

选择列中遇到的第一个值。

<Warning>
  由于查询的执行顺序可以是任意的，因此此函数的结果是非确定性的。如果你需要任意但确定的结果，请使用函数 min 或 max。
</Warning>

默认情况下，该函数绝不会返回 NULL，也就是说会忽略输入列中的 NULL 值。
但是，如果该函数与 `RESPECT NULLS` 修饰符一起使用，则会返回读取到的第一个值，无论它是否为 NULL。

**实现细节**

在某些情况下，你可以依赖执行顺序。
这适用于 `SELECT` 来自使用了 `ORDER BY` 的子查询的情况。

当 `SELECT` 查询带有 `GROUP BY` 子句或至少一个聚合函数时，ClickHouse (不同于 MySQL) 要求 `SELECT`、`HAVING` 和 `ORDER BY` 子句中的所有表达式都必须基于键或聚合函数计算。
换句话说，从表中选出的每一列都必须要么用于键，要么包含在聚合函数中。
如果你想获得类似 MySQL 的行为，可以将其他列放入 `any` 聚合函数中。

<Note>
  函数的返回类型与输入类型相同，但会丢弃 LowCardinality。
  这意味着如果没有输入行，它将返回该类型的默认值 (对于整数是 0，对于 Nullable() 列是 Null) 。
  你可以使用 -OrNull 组合器来修改此行为。
</Note>

**语法**

```sql theme={null}
any(column)[ RESPECT NULLS]
```

**别名**: `any_value`, `first_value`

**参数**

* `column` — 列名。[`Any`](/zh/reference/data-types/index)

**返回值**

返回遇到的第一个值。
[`Any`](/zh/reference/data-types/index)

**示例**

**使用示例**

```sql title=Query theme={null}
CREATE TABLE tab (city Nullable(String)) ENGINE=Memory;
INSERT INTO tab (city) VALUES (NULL), ('Amsterdam'), ('New York'), ('Tokyo'), ('Valencia'), (NULL);
SELECT any(city), anyRespectNulls(city) FROM tab;
```

```response title=Response theme={null}
┌─any(city)─┬─anyRespectNulls(city)─┐
│ Amsterdam │ ᴺᵁᴸᴸ                  │
└───────────┴───────────────────────┘
```
