首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clickhouse -如何从数组类型列中的所有值中获得不同的值

Clickhouse -如何从数组类型列中的所有值中获得不同的值
EN

Stack Overflow用户
提问于 2022-07-22 14:47:37
回答 1查看 230关注 0票数 0

在clickhouse数据库中,我有一个数组类型作为列,我想要为它们中的所有元素创建一个不同的

而不是得到这个

代码语言:javascript
复制
Select distinct errors.message_grouping_fingerprint
FROM views
WHERE  (session_date >= toDate('2022-07-21')) and (session_date < toDate('2022-07-22'))
      and notEmpty(errors.message) = 1
      and project_id = 162
SETTINGS distributed_group_by_no_merge=0


[-8964675922652096680,-8964675922652096680]
[-8964675922652096680]
[-8964675922652096680,-8964675922652096680,-8964675922652096680,-8964675922652096680,-8964675922652096680,-8964675922652096680,-8964675922652096680,-827009490898812590,-8964675922652096680,-8964675922652096680,-8964675922652096680,-8964675922652096680]
[-8964675922652096680,-8964675922652096680,-8964675922652096680]
[-827009490898812590]
[-1660275624223727714,-1660275624223727714]
[1852265010681444046]
[-2552644061611887546]
[-7142229185866234523]
[-7142229185866234523,-7142229185866234523]

为了得到这个

代码语言:javascript
复制
-8964675922652096680
-827009490898812590
-1660275624223727714
1852265010681444046
-2552644061611887546
-7142229185866234523

最后,把它们算一算

as 6

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-22 19:48:31

groupUniqArrayArray

代码语言:javascript
复制
select arrayMap( i-> rand()%10, range(rand()%3+1)) arr from numbers(10);
┌─arr─────┐
│ [0]     │
│ [1]     │
│ [7,7,7] │
│ [8,8]   │
│ [9,9,9] │
│ [6,6,6] │
│ [2,2]   │
│ [8,8,8] │
│ [2]     │
│ [8,8,8] │
└─────────┘

SELECT
    groupUniqArrayArray(arr) AS uarr,
    length(uarr)
FROM
(
    SELECT arrayMap(i -> (rand() % 10), range((rand() % 3) + 1)) AS arr
    FROM numbers(10)
)

┌─uarr──────────────┬─length(groupUniqArrayArray(arr))─┐
│ [0,5,9,4,2,8,7,3] │                                8 │
└───────────────────┴──────────────────────────────────┘

数组连接

代码语言:javascript
复制
SELECT A
FROM
(
    SELECT arrayMap(i -> (rand() % 10), range((rand() % 3) + 1)) AS arr
    FROM numbers(10)
)
ARRAY JOIN arr AS A
GROUP BY A


┌─A─┐
│ 0 │
│ 1 │
│ 4 │
│ 5 │
│ 6 │
│ 9 │
└───┘
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73082206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档