如何在 ClickHouse 中使用分隔符连接 INT

Posted

技术标签:

【中文标题】如何在 ClickHouse 中使用分隔符连接 INT【英文标题】:How to concat INTs with separator in ClickHouse 【发布时间】:2021-05-07 16:10:37 【问题描述】:

如何在 CLickHouse 中使用分隔符 ',' 连接 INT 行? 比如我提出一个请求

SELECT ApplicationID , CampaignID  
from distributed.advertisers 
where AdvertiserID=994 and CampaignID in(318728,318422)
and ActionDate BETWEEN '2021-03-01' and '2021-05-01'

并得到以下结果:

我的目标是获得关注:

我应该如何更改我的请求?

【问题讨论】:

【参考方案1】:

试试这个:

SELECT
    arrayStringConcat(arrayMap(x -> toString(x), groupArray(ApplicationId)), ',') AS ApplicationId,
    CampaignID
FROM 
(
    /* emulate the test dataset */
    SELECT
        data.1 AS ApplicationId,
        data.2 AS CampaignID
    FROM 
    (
        SELECT arrayJoin([(1, 11), (2, 11), (10, 12), (11, 12)]) AS data
    )
)
GROUP BY CampaignID

/*
┌─ApplicationId─┬─CampaignID─┐
│ 1,2           │         11 │
│ 10,11         │         12 │
└───────────────┴────────────┘
*/

【讨论】:

Привет, Владимир, спасибо большое!

以上是关于如何在 ClickHouse 中使用分隔符连接 INT的主要内容,如果未能解决你的问题,请参考以下文章

在 ClickHouse 中使用 between 条件连接表

如何在 ClickHouse 中使用 lambda max(a,b) 函数?

clickhouse如何监控Clickhouse的连接数

如何在 ClickHouse 中维护缓存?

MySQL 引擎如何从 ClickHouse 中的 MySQL 数据库中获取数据?

如何为 ClickHouse jdbc 连接设置会话时区?