跳到主要内容

ClickHouse 中的 SELECT 查询

ClickHouse 是一个 SQL 数据库,您可以通过编写与您已熟悉的 SELECT 查询相同的类型来查询您的数据。例如

SELECT *
FROM helloworld.my_first_table
ORDER BY timestamp
注意

查看 SQL 参考 以了解更多有关语法以及可用子句和选项的详细信息。

请注意,响应以表格格式返回

┌─user_id─┬─message────────────────────────────────────────────┬───────────timestamp─┬──metric─┐
│ 102 │ Insert a lot of rows per batch │ 2022-03-21 00:00:00 │ 1.41421 │
│ 102 │ Sort your data based on your commonly-used queries │ 2022-03-22 00:00:00 │ 2.718 │
│ 101 │ Hello, ClickHouse! │ 2022-03-22 14:04:09 │ -1 │
│ 101 │ Granules are the smallest chunks of data read │ 2022-03-22 14:04:14 │ 3.14159 │
└─────────┴────────────────────────────────────────────────────┴─────────────────────┴─────────┘

4 rows in set. Elapsed: 0.008 sec.

添加一个 FORMAT 子句以指定 ClickHouse 支持的众多输出格式之一

SELECT *
FROM helloworld.my_first_table
ORDER BY timestamp
FORMAT TabSeparated

在上面的查询中,输出以制表符分隔的形式返回

Query id: 3604df1c-acfd-4117-9c56-f86c69721121

102 Insert a lot of rows per batch 2022-03-21 00:00:00 1.41421
102 Sort your data based on your commonly-used queries 2022-03-22 00:00:00 2.718
101 Hello, ClickHouse! 2022-03-22 14:04:09 -1
101 Granules are the smallest chunks of data read 2022-03-22 14:04:14 3.14159

4 rows in set. Elapsed: 0.005 sec.
注意

ClickHouse 支持 70 多种输入和输出格式,因此在数千个函数和所有数据格式之间,您可以使用 ClickHouse 执行一些令人印象深刻且快速的 ETL 类数据转换。事实上,您甚至不需要运行 ClickHouse 服务器来转换数据 - 您可以使用 clickhouse-local 工具。查看 clickhouse-local 的文档页面 以了解详细信息。