聚集函數(shù)
云原生數(shù)據(jù)倉庫 AnalyticDB PostgreSQL 版兼容PostgreSQL中的聚集函數(shù)和操作符。本文簡單列舉云原生數(shù)據(jù)倉庫 AnalyticDB PostgreSQL 版兼容的聚集函數(shù)和操作符及用法示例。
更多信息請參見PostgreSQL官方文檔:聚集函數(shù)和操作符。
聚集函數(shù)
簡介
聚集函數(shù)是指對一組數(shù)據(jù)執(zhí)行計算并返回一定計算結(jié)果的函數(shù)。通常用于數(shù)據(jù)庫中,對多個輸入行進(jìn)行計算,從而實(shí)現(xiàn)統(tǒng)計數(shù)據(jù)的目的。例如:計算平均值、最大值、總數(shù)等。應(yīng)該注意的是,除了count
之外,當(dāng)沒有輸入行時,這些函數(shù)返回空值,而不是零。且當(dāng)沒有輸入行時,array_agg
返回null
而不是空數(shù)組。必要時,可以使用coalesce
函數(shù)將零或空數(shù)組替換為null
。
通用聚集函數(shù)
函數(shù) | 參數(shù)類型 | 返回類型 | 描述 |
| 非數(shù)組類型,不建議臨時使用row()包裝后的類型作為輸入。 | 與參數(shù)數(shù)據(jù)類型相同。 | 輸入值(包括空值)被連接到一個數(shù)組。 |
| 任意數(shù)組類型。 | 與參數(shù)數(shù)據(jù)類型相同。 | 輸入的數(shù)組被連接到一個更高維的數(shù)組中 (輸入必須都具有相同的維度且不能為空或NULL)。 |
|
| 對于整數(shù)類型參數(shù)返回 | 所有非空輸入值的平均值(即算術(shù)平均)。 |
|
| 與參數(shù)數(shù)據(jù)類型相同。 | 所有非空輸入值的按位與。當(dāng)沒有非空值時結(jié)果是空值。 |
|
| 與參數(shù)數(shù)據(jù)類型相同。 | 所有非空輸入值的按位或。當(dāng)沒有非空值時結(jié)果是空值。 |
|
|
| 當(dāng)所有輸入值為真則結(jié)果為真,否則為假。 |
|
|
| 至少存在一個輸入值為真時結(jié)果為真,否則為假。 |
| - |
| 輸入的行數(shù)。 |
|
|
| 非空的輸入行的數(shù)目。 |
|
|
| 等同于 |
|
|
| 將值(含空值)聚集成一個JSON數(shù)組。 |
|
|
| 把值(含空值)聚集成一個JSON數(shù)組。 |
|
|
| 將 |
|
|
| 將 |
| 任意數(shù)組、數(shù)字、字符串、日期或時間、網(wǎng)絡(luò)或枚舉類型,或這些類型的數(shù)組。 | 與參數(shù)數(shù)據(jù)類型相同。 | 所有非空輸入值中的最大值。 |
| 任意數(shù)組、數(shù)字、字符串、日期或時間、網(wǎng)絡(luò)或枚舉類型,或這些類型的數(shù)組。 | 與參數(shù)數(shù)據(jù)類型相同。 | 所有非空輸入值中的最小值。 |
| ( | 與參數(shù)數(shù)據(jù)類型相同。 | 將非空輸入值連成一個字符串,用分隔符分隔。 |
|
| 對 | 所有非空輸入值的和。 |
|
|
| 連接非空XML值。 |
統(tǒng)計相關(guān)的聚集函數(shù)
函數(shù) | 參數(shù)類型 | 返回類型 | 描述 |
|
|
| 相關(guān)系數(shù)。 |
|
|
| 總體協(xié)方差。 |
|
|
| 樣本協(xié)方差。 |
|
|
| 自變量的平均值 |
|
|
| 因變量的平均值 |
|
|
| 兩個表達(dá)式均不為空的行的數(shù)目。 |
|
|
| 由( |
|
|
| 相關(guān)系數(shù)的平方。 |
|
|
| 由( |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 浮點(diǎn)類型參數(shù)為 |
|
|
| 浮點(diǎn)類型參數(shù)為 | 總體標(biāo)準(zhǔn)差。 |
|
| 浮點(diǎn)類型參數(shù)為 | 樣本標(biāo)準(zhǔn)差。 |
|
| 浮點(diǎn)類型參數(shù)為 |
|
|
| 浮點(diǎn)類型參數(shù)為 | 總體方差(總體標(biāo)準(zhǔn)差的平方)。 |
|
| 浮點(diǎn)類型參數(shù)為 | 樣本方差(樣本標(biāo)準(zhǔn)差的平方)。 |