sql - PostgreSQL 查询间隔数据
问题描述
我正在尝试执行一个我不知道如何编写的查询。我有一张claims
桌子
claims table:
- id
- date_received
我想获取超过 30 天每天的新索赔计数。我试图想出的天真的解决方案就是这个。
select count(*)
from claims
where date_received
BETWEEN CURRENT_DATE - interval '1 month'
AND CURRENT_DATE
group by date_received;
这有效,但它按确切的时间戳分组,而不是同一天。我怎样才能让它在同一天分组?
编辑
我能够计算出我们更新的查询:
select date_received::date as date, count(id) as new_claims
from claims
where date_received BETWEEN CURRENT_DATE - interval '1 month'
AND CURRENT_DATE
group by date_received::date
order by date;
解决方案
基于 Gordon 的回答,您可以使用它date_trunc(precision, timestamp)
来获得您想要的东西:
select date_received::date, count(*)
from claims
where date_received >=
date_trunc('day', CURRENT_DATE - interval '1 month')
and date_received < CURRENT_DATE
group by date_received::date
order by date_received::date;
有关详细信息,请参阅date_trunc()。
推荐阅读
- json - Swift:解析 10k 行数据的最高效方式?
- mongodb - java.lang.IllegalStateException:关闭 Reactivemongo 驱动程序时执行程序不接受任务
- prolog - 这种深度优先搜索可以用失败驱动的循环编码而不递归吗?
- c# - 计算机状态(睡眠、休眠、锁定等)Windows 10
- jenkins - 在 Jenkins Pipeline 中运行 sqlite3 命令行
- javascript - 在多选下拉菜单中显示选定的值
- c++ - 在全局范围内有推力::device_vector
- cmake - LightGBM windows 安装问题 - cmake - 不支持平台规范
- c++ - 如何使用 MinGW 编译器在 Windows 命令提示符下使用 Makefile 编译代码?
- python - 为什么酸洗时__new__中添加的属性信息会丢失?