【发布时间】:2021-11-12 05:48:33
【问题描述】:
我正在使用 Grafana 显示来自 Clickhouse 的一些数据。数据来自包含itime、count 和其他一些列的表。
id method count itime
1 aaa 12 2021-07-20 00:07:06
2 bbb 9 2021-07-20 00:07:06
3 ccc 7 2021-07-20 00:07:07
...
现在我可以执行以下 SQL 来获得两个 itimes 之间的 count 之和:
SELECT toUnixTimestamp(toStartOfMinute(itime)) * 1000 as t,
method,
sum(count) as c
FROM me.my_table
WHERE itime BETWEEN toDateTime(1631870605) AND toDateTime(1631874205)
and method like 'a%'
GROUP BY method, t
HAVING c > 500
ORDER BY t
它按预期工作。
现在,我想根据sum(count) - sum(count)<--7-day-ago之间的差异选择sum(count)。像SELECT ... FROM ... WHERE ... HAVING c - c<--7-day-ago >= 100 这样的东西。但我不知道怎么做。
【问题讨论】:
-
您能否简化您的查询并删除您创建的函数(如果我们不需要它们)?另外,您能否给我们一些更多数据(相关数据)和该数据的预期结果(因为您说 7 天前......并且示例都在同一天......)
-
@VBoka 好吧,事实上我正在与 Grafana 和 Clickhouse 合作......好吧,除了
itime发生了变化之外,数据就是这样。我确信它存储了大量数据,包括 7 天前的数据。 -
@Akina 我是 DB 的新手。我以为他们都一样。事实上,我正在与 Grafana 和 Clickhouse 合作。
标签: sql grafana clickhouse having