ClickHouse/docs/zh/sql-reference/aggregate-functions/index.md
Ivan Blinkov cd14f9ebcb
SQL reference refactoring (#10857)
* split up select.md

* array-join.md basic refactoring

* distinct.md basic refactoring

* format.md basic refactoring

* from.md basic refactoring

* group-by.md basic refactoring

* having.md basic refactoring

* additional index.md refactoring

* into-outfile.md basic refactoring

* join.md basic refactoring

* limit.md basic refactoring

* limit-by.md basic refactoring

* order-by.md basic refactoring

* prewhere.md basic refactoring

* adjust operators/index.md links

* adjust sample.md links

* adjust more links

* adjust operatots links

* fix some links

* adjust aggregate function article titles

* basic refactor of remaining select clauses

* absolute paths in make_links.sh

* run make_links.sh

* remove old select.md locations

* translate docs/es

* translate docs/fr

* translate docs/fa

* remove old operators.md location

* change operators.md links

* adjust links in docs/es

* adjust links in docs/es

* minor texts adjustments

* wip

* update machine translations to use new links

* fix changelog

* es build fixes

* get rid of some select.md links

* temporary adjust ru links

* temporary adjust more ru links

* improve curly brace handling

* adjust ru as well

* fa build fix

* ru link fixes

* zh link fixes

* temporary disable part of anchor checks
2020-05-15 07:34:54 +03:00

63 lines
1.6 KiB
Markdown

---
machine_translated: true
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
toc_folder_title: "\u805A\u5408\u51FD\u6570"
toc_priority: 33
toc_title: "\u5BFC\u8A00"
---
# 聚合函数 {#aggregate-functions}
聚合函数在 [正常](http://www.sql-tutorial.com/sql-aggregate-functions-sql-tutorial) 方式如预期的数据库专家。
ClickHouse还支持:
- [参数聚合函数](parametric-functions.md#aggregate_functions_parametric),它接受除列之外的其他参数。
- [组合器](combinators.md#aggregate_functions_combinators),这改变了聚合函数的行为。
## 空处理 {#null-processing}
在聚合过程中,所有 `NULL`s被跳过。
**例:**
考虑这个表:
``` text
┌─x─┬────y─┐
│ 1 │ 2 │
│ 2 │ ᴺᵁᴸᴸ │
│ 3 │ 2 │
│ 3 │ 3 │
│ 3 │ ᴺᵁᴸᴸ │
└───┴──────┘
```
比方说,你需要在总的值 `y` 列:
``` sql
SELECT sum(y) FROM t_null_big
```
┌─sum(y)─┐
│ 7 │
└────────┘
`sum` 函数解释 `NULL` 作为 `0`. 特别是,这意味着,如果函数接收输入的选择,其中所有的值 `NULL`,那么结果将是 `0`,不 `NULL`.
现在你可以使用 `groupArray` 函数从创建一个数组 `y` 列:
``` sql
SELECT groupArray(y) FROM t_null_big
```
``` text
┌─groupArray(y)─┐
│ [2,2,3] │
└───────────────┘
```
`groupArray` 不包括 `NULL` 在生成的数组中。
[原始文章](https://clickhouse.tech/docs/en/query_language/agg_functions/) <!--hide-->