【发布时间】:2020-03-23 06:22:52
【问题描述】:
在ClickHouse中,有没有办法在超过列上使用topK查询,
例如:
select topK(10)(AGE,COUNTRY) ...
意思是我想要AGE+COUNTRY的top10组合, 我只发现在字段上使用 concat 并在它们上使用 topK 的解决方法,想知道是否还有其他方法。
【问题讨论】:
标签: olap clickhouse
在ClickHouse中,有没有办法在超过列上使用topK查询,
例如:
select topK(10)(AGE,COUNTRY) ...
意思是我想要AGE+COUNTRY的top10组合, 我只发现在字段上使用 concat 并在它们上使用 topK 的解决方法,想知道是否还有其他方法。
【问题讨论】:
标签: olap clickhouse
您可以将列的数组(或元组)传递给topK:
SELECT topK(10)([Age, Country])
FROM table
或者使用简单的计算(它会慢得多,但可以提供准确的结果):
SELECT
Age,
Country
FROM table
GROUP BY
Age,
Country
ORDER BY count() DESC
LIMIT 10
【讨论】: