區間統計 聚合函式組合器

papering發表於2024-05-27

聚合函式組合器 | ClickHouse Docs https://clickhouse.com/docs/zh/sql-reference/aggregate-functions/combinators

示例

考慮一下 people 表具有以下資料的表結構:

┌─name───┬─age─┬─wage─┐
│ John │ 16 │ 10 │
│ Alice │ 30 │ 15 │
│ Mary │ 35 │ 8 │
│ Evelyn │ 48 │ 11.5 │
│ David │ 62 │ 9.9 │
│ Brian │ 60 │ 16 │
└────────┴─────┴──────┘

讓我們得到的人的名字,他們的年齡在於的時間間隔 [30,60)[60,75)。 由於我們使用整數表示的年齡,我們得到的年齡 [30, 59][60,74] 間隔。

要在陣列中聚合名稱,我們使用 groupArray 聚合函式。 這需要一個引數。 在我們的例子中,它是 name 列。 groupArrayResample 函式應該使用 age 按年齡聚合名稱, 要定義所需的時間間隔,我們傳入 30, 75, 30 引數給 groupArrayResample 函式。

SELECT groupArrayResample(30, 75, 30)(name, age) FROM people
┌─groupArrayResample(30, 75, 30)(name, age)─────┐
│ [['Alice','Mary','Evelyn'],['David','Brian']] │
└───────────────────────────────────────────────┘

允許您將資料劃分為組,然後單獨聚合這些組中的資料。 透過將一列中的值拆分為間隔來建立組。

相關文章