postgresql中的近一周,近一月,近三月,近一年日期段拆分

统计中经常会遇到,近一周,近一月,近三月,近一年数据统计,下面提供了postgresql拆分日期段的sql
sql 复制代码
-- 近一周,每一天起止时间
select generate_series startDate,generate_series + interval '1 day' endDate
from generate_series( NOW()::date +  interval '  -6 day', now()::timestamp ,  '1day');

-- 近一月 ,每一天起止时间
select generate_series startDate,generate_series + interval '1 day' endDate
from generate_series( NOW()::date +  interval '  -1 month', now()::timestamp ,  '1day');

-- 近三个月,每一周起止时间
select
    date_trunc('week', generate_series) startDate,
    date_trunc('week', generate_series + interval ' 1 week')  endDate
from generate_series( NOW()::timestamp +  interval '  - 12 week', now()::timestamp ,  '1week');

-- 近一年,每月起止时间
select date_trunc('month', generate_series) startDate,
       date_trunc('month', generate_series + interval ' 1 month' )   endDate
from generate_series(NOW()::date +  interval '  -11 month', now()::timestamp ,  '1month');
复制代码
-- 近一周,每一天起止时间 测试时间为2023-10-09
复制代码
-- 近一月 ,每一天起止时间 测试时间为2023-10-09
复制代码
-- 近三个月,每一周起止时间,测试时间为2023-10-09
复制代码
-- 近一年,每月起止时间 测试时间为2023-10-09
相关推荐
sekaii16 分钟前
ReDistribution plan细节
linux·服务器·数据库
焱焱枫1 小时前
自适应SQL计划管理(Adaptive SQL Plan Management)在Oracle 12c中的应用
数据库·sql·oracle
2301_793069821 小时前
Spring Boot +SQL项目优化策略,GraphQL和SQL 区别,Spring JDBC 等原理辨析(万字长文+代码)
java·数据库·spring boot·sql·jdbc·orm
hhw1991121 小时前
spring boot知识点5
java·数据库·spring boot
ITPUB-微风2 小时前
功能开关聚合对象实践:提升金融领域的高可用性
网络·数据库·金融
去看日出2 小时前
Linux(centos)系统安装部署MySQL8.0数据库(GLIBC版本)
linux·数据库·centos
Hanyaoo2 小时前
为什么mvcc中?m_ids 列表并不等同于 min_trx_id 和 max_trx_id 之间的所有事务 ID
数据库
偏右右2 小时前
PL/SQL 异常处理
数据库·sql·oracle
利瑞华3 小时前
Redis 存在线程安全问题吗?为什么?
数据库·redis·安全
小金的学习笔记3 小时前
如何在本地和服务器新建Redis用户和密码
服务器·数据库·redis