sql - 有没有办法在 DuckDB 中按 15 分钟的间隔进行分组?
问题描述
我做了一张桌子
create table counter (
createdat TIMESTAMP,
tickets INT,
id VARCHAR
)
我想以 15 分钟的间隔对行进行分组,所以我试图这样做:
SELECT
SUM(tickets) AS total,
extract(year from createdat),
extract(month from createdat),
extract(day from createdat),
extract(hour from createdat)
from counter
where id = ?
group by
extract(year from createdat),
extract(month from createdat),
extract(day from createdat),
extract(hour from createdat)
通过这个查询,我只能按小时获得。但是我无法将其修改为几分钟。
查询如何按 15 分钟的间隔分组?
解决方案
为刻钟添加一个表达式:
(extract(minute from createdat) / 15)::integer
到你的专栏:
select
sum(tickets) AS total,
extract(year from createdat),
extract(month from createdat),
extract(day from createdat),
extract(hour from createdat),
(extract(minute from createdat) / 15)::integer
from counter
where id = ?
group by
extract(year from createdat),
extract(month from createdat),
extract(day from createdat),
extract(hour from createdat),
(extract(minute from createdat) / 15)::integer
强制转换为integer
截断除法结果的小数部分。
推荐阅读
- php - Laravel 从路由组中间件获取标头
- neo4j - 如何过滤父节点,然后过滤子节点,而不会使父节点受到子过滤器的影响?Neo4j 3.5
- html - 有没有办法让空白文件名可以使用?
- jira - Tampermonkey GM_xmlhttpRequest 未正确发送请求
- java - Java:混淆密钥库密码
- c# - 无法更新 WPF 中图像的 RotateTransform 角度
- python - 有没有办法根据两个条件删除python中的重复项?
- python - 使用kmeans python进行集群和分区的字典
- python-3.x - Python3将字节对象转换为文件对象
- keras - Keras回调执行顺序?