Skip to content

Commit d69cf09

Browse files
AI Translate 07-aggregate-functions to Simplified-Chinese (#2819)
* [INIT] Start translation to Simplified-Chinese * 🌐 Translate aggregate-any-value.md to Simplified-Chinese * 🌐 Translate aggregate-any-value.md to Simplified-Chinese --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent c802349 commit d69cf09

File tree

3 files changed

+99
-20
lines changed

3 files changed

+99
-20
lines changed

.translation-init

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Translation initialization: 2025-09-26T04:21:21.696179
1+
Translation initialization: 2025-09-26T11:18:50.025523
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
title: ANY_VALUE
3+
---
4+
import FunctionDescription from '@site/src/components/FunctionDescription';
5+
6+
<FunctionDescription description="引入或更新于:v1.2.815"/>
7+
8+
聚合函数。
9+
10+
`ANY_VALUE()` 函数从输入表达式中返回一个任意的非 NULL 值。当需要在 `GROUP BY` 查询中选择一个既未分组也未聚合的列时,可以使用此函数。
11+
12+
> **别名:** `ANY()` 返回与 `ANY_VALUE()` 相同的结果,为保持兼容性而保留。
13+
14+
## 语法
15+
16+
```sql
17+
ANY_VALUE(<expr>)
18+
```
19+
20+
## 参数
21+
22+
| 参数 | 说明 |
23+
|-----------|----------------|
24+
| `<expr>` | 任意表达式 |
25+
26+
## 返回类型
27+
28+
`<expr>` 的类型。如果所有值都为 NULL,则返回值为 NULL。
29+
30+
:::note
31+
- `ANY_VALUE()` 是非确定性的,每次执行可能会返回不同的值。
32+
- 为了获得可预测的结果,请改用 `MIN()``MAX()`
33+
:::
34+
35+
## 示例
36+
37+
**示例数据:**
38+
```sql
39+
CREATE TABLE sales (
40+
region VARCHAR,
41+
manager VARCHAR,
42+
sales_amount DECIMAL(10, 2)
43+
);
44+
45+
INSERT INTO sales VALUES
46+
('North', 'Alice', 15000.00),
47+
('North', 'Alice', 12000.00),
48+
('South', 'Bob', 20000.00);
49+
```
50+
51+
**问题:** 此查询会失败,因为 `manager` 不在 GROUP BY 子句中:
52+
```sql
53+
SELECT region, manager, SUM(sales_amount) -- ❌ 错误
54+
FROM sales GROUP BY region;
55+
```
56+
57+
**旧方法:**`manager` 添加到 GROUP BY 中,但这会创建比所需更多的分组,从而影响性能:
58+
```sql
59+
SELECT region, manager, SUM(sales_amount)
60+
FROM sales GROUP BY region, manager; -- ❌ 因额外分组导致性能不佳
61+
```
62+
63+
**更好的解决方案:** 使用 `ANY_VALUE()` 来选择 manager:
64+
```sql
65+
SELECT
66+
region,
67+
ANY_VALUE(manager) AS manager, -- ✅ 可行
68+
SUM(sales_amount) AS total_sales
69+
FROM sales
70+
GROUP BY region;
71+
```
72+
73+
**结果:**
74+
```text
75+
| region | manager | total_sales |
76+
|--------|---------|-------------|
77+
| North | Alice | 27000.00 |
78+
| South | Bob | 20000.00 |
79+
```

docs/cn/sql-reference/20-sql-functions/07-aggregate-functions/index.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
11
---
2-
title: '聚合函数(Aggregate Functions)'
2+
title: '聚合函数'
33
---
44

5-
本页面全面概述了 Databend 中的聚合函数,按功能分类以便参考
5+
本页面按功能分类,全面概述了 Databend 中的聚合函数,便于快速查阅
66

7-
## 基础聚合
7+
## 基本聚合
88

99
| 函数 | 描述 | 示例 |
1010
|----------|-------------|---------|
11-
| [COUNT](aggregate-count.md) | 计算行数或非空值的数量 | `COUNT(*)``10` |
11+
| [COUNT](aggregate-count.md) | 计算行数或非 NULL 值的数量 | `COUNT(*)``10` |
1212
| [COUNT_DISTINCT](aggregate-count-distinct.md) | 计算不同值的数量 | `COUNT(DISTINCT city)``5` |
1313
| [APPROX_COUNT_DISTINCT](aggregate-approx-count-distinct.md) | 近似计算不同值的数量 | `APPROX_COUNT_DISTINCT(user_id)``9955` |
1414
| [SUM](aggregate-sum.md) | 计算值的总和 | `SUM(sales)``1250.75` |
1515
| [AVG](aggregate-avg.md) | 计算值的平均值 | `AVG(temperature)``72.5` |
1616
| [MIN](aggregate-min.md) | 返回最小值 | `MIN(price)``9.99` |
1717
| [MAX](aggregate-max.md) | 返回最大值 | `MAX(price)``99.99` |
18-
| [ANY](aggregate-any.md) | 返回组中的任意一个值 | `ANY(status)``'active'` |
18+
| [ANY_VALUE](aggregate-any-value.md) | 从分组中返回任意一个值 | `ANY_VALUE(status)``'active'` |
1919

2020
## 条件聚合
2121

2222
| 函数 | 描述 | 示例 |
2323
|----------|-------------|---------|
2424
| [COUNT_IF](aggregate-count-if.md) | 计算满足条件的行数 | `COUNT_IF(price > 100)``5` |
2525
| [SUM_IF](aggregate-sum-if.md) | 对满足条件的值求和 | `SUM_IF(amount, status = 'completed')``750.25` |
26-
| [AVG_IF](aggregate-avg-if.md) | 对满足条件的值求平均值 | `AVG_IF(score, passed = true)``85.6` |
26+
| [AVG_IF](aggregate-avg-if.md) | 对满足条件的值求平均 | `AVG_IF(score, passed = true)``85.6` |
2727
| [MIN_IF](aggregate-min-if.md) | 返回条件为真时的最小值 | `MIN_IF(temp, location = 'outside')``45.2` |
2828
| [MAX_IF](aggregate-max-if.md) | 返回条件为真时的最大值 | `MAX_IF(speed, vehicle = 'car')``120.5` |
2929

@@ -37,29 +37,29 @@ title: '聚合函数(Aggregate Functions)'
3737
| [STDDEV_SAMP](aggregate-stddev-samp.md) | 样本标准差 | `STDDEV_SAMP(height)``3.5` |
3838
| [COVAR_POP](aggregate-covar-pop.md) | 总体协方差 | `COVAR_POP(x, y)``2.5` |
3939
| [COVAR_SAMP](aggregate-covar-samp.md) | 样本协方差 | `COVAR_SAMP(x, y)``2.7` |
40-
| [KURTOSIS](aggregate-kurtosis.md) | 测量分布的峰度 | `KURTOSIS(values)``2.1` |
41-
| [SKEWNESS](aggregate-skewness.md) | 测量分布的偏度 | `SKEWNESS(values)``0.2` |
40+
| [KURTOSIS](aggregate-kurtosis.md) | 衡量分布的峰度 | `KURTOSIS(values)``2.1` |
41+
| [SKEWNESS](aggregate-skewness.md) | 衡量分布的偏度 | `SKEWNESS(values)``0.2` |
4242

43-
## 百分位数和分布
43+
## 百分位数与分布
4444

4545
| 函数 | 描述 | 示例 |
4646
|----------|-------------|---------|
4747
| [MEDIAN](aggregate-median.md) | 计算中位数 | `MEDIAN(response_time)``125` |
48-
| [MODE](aggregate-mode.md) | 返回最频繁的值 | `MODE(category)``'electronics'` |
48+
| [MODE](aggregate-mode.md) | 返回最频繁出现的值 | `MODE(category)``'electronics'` |
4949
| [QUANTILE_CONT](aggregate-quantile-cont.md) | 连续插值分位数 | `QUANTILE_CONT(0.95)(response_time)``350.5` |
5050
| [QUANTILE_DISC](aggregate-quantile-disc.md) | 离散分位数 | `QUANTILE_DISC(0.5)(age)``35` |
51-
| [QUANTILE_TDIGEST](aggregate-quantile-tdigest.md) | 使用 t-digest 的近似分位数 | `QUANTILE_TDIGEST(0.9)(values)``95.2` |
51+
| [QUANTILE_TDIGEST](aggregate-quantile-tdigest.md) | 使用 t-digest 算法近似计算分位数 | `QUANTILE_TDIGEST(0.9)(values)``95.2` |
5252
| [QUANTILE_TDIGEST_WEIGHTED](aggregate-quantile-tdigest-weighted.md) | 加权 t-digest 分位数 | `QUANTILE_TDIGEST_WEIGHTED(0.5)(values, weights)``50.5` |
53-
| [MEDIAN_TDIGEST](aggregate-median-tdigest.md) | 使用 t-digest 的近似中位数 | `MEDIAN_TDIGEST(response_time)``124.5` |
54-
| [HISTOGRAM](aggregate-histogram.md) | 创建直方图桶 | `HISTOGRAM(10)(values)``[{...}]` |
53+
| [MEDIAN_TDIGEST](aggregate-median-tdigest.md) | 使用 t-digest 算法近似计算中位数 | `MEDIAN_TDIGEST(response_time)``124.5` |
54+
| [HISTOGRAM](aggregate-histogram.md) | 创建直方图分桶 | `HISTOGRAM(10)(values)``[{...}]` |
5555

56-
## 数组和集合聚合
56+
## 数组与集合聚合
5757

5858
| 函数 | 描述 | 示例 |
5959
|----------|-------------|---------|
60-
| [ARRAY_AGG](aggregate-array-agg.md) | 将值收集到数组中 | `ARRAY_AGG(product)``['A', 'B', 'C']` |
61-
| [GROUP_ARRAY_MOVING_AVG](aggregate-group-array-moving-avg.md) | 数组上的移动平均 | `GROUP_ARRAY_MOVING_AVG(3)(values)``[null, null, 3.0, 6.0, 9.0]` |
62-
| [GROUP_ARRAY_MOVING_SUM](aggregate-group-array-moving-sum.md) | 数组上的移动总和 | `GROUP_ARRAY_MOVING_SUM(2)(values)``[null, 3, 7, 11, 15]` |
60+
| [ARRAY_AGG](aggregate-array-agg.md) | 将值收集到一个数组中 | `ARRAY_AGG(product)``['A', 'B', 'C']` |
61+
| [GROUP_ARRAY_MOVING_AVG](aggregate-group-array-moving-avg.md) | 计算数组的移动平均值 | `GROUP_ARRAY_MOVING_AVG(3)(values)``[null, null, 3.0, 6.0, 9.0]` |
62+
| [GROUP_ARRAY_MOVING_SUM](aggregate-group-array-moving-sum.md) | 计算数组的移动总和 | `GROUP_ARRAY_MOVING_SUM(2)(values)``[null, 3, 7, 11, 15]` |
6363

6464
## 字符串聚合
6565

@@ -80,8 +80,8 @@ title: '聚合函数(Aggregate Functions)'
8080

8181
| 函数 | 描述 | 示例 |
8282
|----------|-------------|---------|
83-
| [ARG_MAX](aggregate-arg-max.md) | 返回 expr2 最大时对应的 expr1 | `ARG_MAX(name, score)``'Alice'` |
84-
| [ARG_MIN](aggregate-arg-min.md) | 返回 expr2 最小时对应的 expr1 | `ARG_MIN(name, score)``'Charlie'` |
83+
| [ARG_MAX](aggregate-arg-max.md) | 返回 expr2 最大时 expr1 的值 | `ARG_MAX(name, score)``'Alice'` |
84+
| [ARG_MIN](aggregate-arg-min.md) | 返回 expr2 最小时 expr1 的值 | `ARG_MIN(name, score)``'Charlie'` |
8585

8686
## 漏斗分析
8787

0 commit comments

Comments
 (0)