ClickHouse中使用UNION

在 ClickHouse 中,UNION 用于合并两个或多个查询的结果集。ClickHouse 默认支持的是 UNION ALL,即合并结果集时不去重。如果需要使用 UNION DISTINCT(即合并结果集时去重),可以显式地指定。

UNION ALL

UNION ALL 不去重,直接合并结果集。

sql 复制代码
SELECT id, name FROM table1
UNION ALL
SELECT id, name FROM table2;

UNION DISTINCT

UNION DISTINCT 会对合并后的结果进行去重。

sql 复制代码
SELECT id, name FROM table1
UNION DISTINCT
SELECT id, name FROM table2;

示例表结构

假设有两个表 table1table2,它们的结构如下:

sql 复制代码
CREATE TABLE table1 (
    id UInt32,
    name String
) ENGINE = MergeTree()
ORDER BY id;

CREATE TABLE table2 (
    id UInt32,
    name String
) ENGINE = MergeTree()
ORDER BY id;

使用 UNION ALL 和 UNION DISTINCT 的示例

UNION ALL 示例

合并两个表的所有记录:

sql 复制代码
SELECT id, name FROM table1
UNION ALL
SELECT id, name FROM table2;
UNION DISTINCT 示例

合并两个表并去重:

sql 复制代码
SELECT id, name FROM table1
UNION DISTINCT
SELECT id, name FROM table2;

使用 ORDER BY 和 LIMIT

如果需要对合并后的结果进行排序或限制结果集的大小,可以在 UNION 后使用 ORDER BYLIMIT

UNION ALL 和 ORDER BY
sql 复制代码
SELECT id, name FROM table1
UNION ALL
SELECT id, name FROM table2
ORDER BY id;
UNION DISTINCT 和 LIMIT
sql 复制代码
SELECT id, name FROM table1
UNION DISTINCT
SELECT id, name FROM table2
LIMIT 10;

注意事项

  1. 列数和数据类型需要一致:每个子查询的列数和数据类型需要保持一致,否则会导致查询失败。
  2. 性能考虑UNION DISTINCT 需要对结果集去重,因此可能会比 UNION ALL 消耗更多的资源。

通过这些示例,你可以在 ClickHouse 中使用 UNION ALLUNION DISTINCT 来合并多个查询的结果集。

相关推荐
吉甫作诵3 天前
阿里云 ECS 安装 ClickHouse:密码配置、目录迁移与基础调优
大数据·clickhouse
NineData3 天前
NineData Oracle 到 ClickHouse 数据迁移完整流程:结构复制、全量装载、增量同步
数据库·clickhouse·oracle·数据迁移·ninedata·增量同步·数据迁移工具
DB哥讲数据库7 天前
【ClickHouse安装教程】从零开始部署高性能列式数据库(附ClickHouse安装包)
数据库·clickhouse
流烟默7 天前
ClickHouse三种驱动对比分析
clickhouse·驱动对比
zhoupenghui16825 天前
ClickHouse merge引擎详解以及应用
数据库·clickhouse·merge·mergetree
ClickHouseDB1 个月前
ClickHouse 十年开源,今非昔比!
clickhouse·开源·apache
ClickHouseDB1 个月前
ClickHouse 开源十年:数据分析领域的中流砥柱
clickhouse·数据分析·开源
java_logo1 个月前
Docker Compose 部署 ClickHouse:快速搭建高性能列式数据库
数据库·clickhouse·docker·列式数据库·轩辕镜像·高性能数据库·clickhouse部署教程
ClickHouseDB1 个月前
TPC-H 成本不到一分钱:ClickHouse Cloud 对比 Snowflake、Databricks、BigQuery 和 Redshift
clickhouse
隔壁阿布都1 个月前
ClickHouse完整指南
服务器·数据库·clickhouse