在 Clickhouse 中创建类似 SQL 的序列

Posted

技术标签:

【中文标题】在 Clickhouse 中创建类似 SQL 的序列【英文标题】:Create a SQL-like Sequence in Clickhouse 【发布时间】:2017-04-07 09:32:46 【问题描述】:

我有一个 SQL 查询,其中包含序列。

如何像我们在 Clickhouse 中的 SQL 中创建序列一样创建序列?

【问题讨论】:

【参考方案1】:

我相信这就是您要找的东西?

-- Generate a sequence of dates from 2010-01-01 to 2010-12-31
select toDate('2010-01-01') + number as d FROM numbers(365);

https://clickhouse.tech/docs/en/sql-reference/table-functions/numbers/

【讨论】:

【参考方案2】:

Clickhouse 不支持像 postgresql 或其他 RDBMS 这样的序列 你的用例是什么?

您需要插入具有递增序列的数据吗?做什么的? 或者您需要 sequenceMatch 和 sequenceCount 函数进行漏斗分析?

可能是它的网址将有帮助 https://clickhouse.yandex/reference_en.html#sequenceMatch(pattern)(time,+cond1,+cond2,+...)

【讨论】:

是的,我想插入递增序列的数据。 你能告诉我如何制作唯一键和外键吗? Clickhouse 不支持外键和唯一键功能,这种模式不需要分析场景工作负载尝试使用原始 UUID FixedString(16) 作为唯一标识符或在插入 clickhouse 之前在其他 DBMS 中准备数据批次 我可以使用触发器在 DML 查询中添加数据。那么,有没有办法在 clickhouse 中创建触发器。

以上是关于在 Clickhouse 中创建类似 SQL 的序列的主要内容,如果未能解决你的问题,请参考以下文章

在 clickhouse 中创建表时如何将自定义默认值添加到 Nullable 类型?

如何在 SQL Server [2005] 中创建类似于 .dbo 的架构

如何在 SQL 中创建带有百分比的总计行

如何在 postgresql 中创建只读视图,类似于 oracle?

如何在 Sql 中创建一个 ' 字符?

如何在 SQL 中创建视图