| 聚合侧 | groupArray、groupUniqArray、groupArrayInsertAt、topK |
|---|---|
| 数组侧 | arrayJoin(展开为多行)、arraySort、arrayDistinct、arraySlice、has、indexOf、length |
| 组合 | SELECT … arrayJoin(groupArray(x)) 可在分组与展开之间转换 |
示例
示例
SELECT user_id, groupArray(event_type) AS events, length(events) AS cnt
FROM events
GROUP BY user_id
ORDER BY cnt DESC
LIMIT 5;
SELECT arrayJoin([1, 2, 3]) AS x;
SELECT arrayDistinct(arrayConcat([1, 2], [2, 3]));arrayJoin 会把一行展开成多行,展开后再聚合等于全局重算,注意与原始行数统计口径区分。