如何使用postgresql检索过去n天的结果

如何使用postgresql检索过去n天的结果,postgresql,Postgresql,我是博士后的新手 我想做什么: 每次我在给定的一天运行查询时,都会在以前的n天中获取结果,而无需手动更新开始和结束日期 查询示例: 如果我今天(2019年6月23日)运行查询 我检索过去8天的结果的查询如下 select count(*),state,DATE(date) from animal_shelter where date=>'2019-06-15' and date <='2019-06-22' group by state,DATE(date); 这可以使用,但我不知

我是博士后的新手

我想做什么: 每次我在给定的一天运行查询时,都会在以前的
n
天中获取结果,而无需手动更新开始和结束日期

查询示例:
如果我今天(2019年6月23日)运行查询
我检索过去8天的结果的查询如下

select count(*),state,DATE(date)
from animal_shelter
where date=>'2019-06-15' and date <='2019-06-22'
group by state,DATE(date);
这可以使用,但我不知道如何修改和使用它之间的条件

可能的解决办法

这是正确的吗?我可以保证,它准确地选择了过去8天的数据,不包括今天的数据吗


请帮我完成我的目标。

我相信您正在寻找:

WHERE date between now()::date - interval '8 days' AND now()::date - interval '1 day';

您还可以使用此处提到的
当前_日期
功能:

所以答案是

where date = current_date - interval 'n day'
WHERE date between now()::date - interval '8 days' AND now()::date - interval '1 day';
where date = current_date - interval 'n day'