我想要做的是获取每个“管理”周(星期一到星期日)的数据,也就是说,如果一个月从星期三开始,第二个星期当我启动查询时,我想要上个星期的星期三、星期四、星期五、星期六、星期日的数据。这将获得第一周的数据,以及本月每周的数据。
我提出了以下查询:
with connection.cursor() as cursor:
sql = 'SELECT COUNT(*) ' \
'FROM panneau ' \
'WHERE year(datecreation) = year(now()) ' \
'AND month(datecreation) = month(now()) ' \
'AND datecreation [I don't know what to put here] '
cursor.execute(sql)
test = cursor.fetchall()
print(test)但我不知道最后一行是什么。
最后,我应该有4到5个变量与每个“管理周”的数据,这将考虑到什么时候开始的第一周,什么时候的月份最后一周结束。
编辑:例如2022年7月的一个月,
请帮忙,谢谢。
发布于 2022-08-03 17:00:50
要获得上一个管理周,可以检查前一周日期范围内是否存在潜在日期,由generate_series生成的当前日期时间的generate_series值抵消
select p.datecreation from panneau p
where date(p.datecreation) in
(select date(p1.dt) from
(select now() - (extract(dow from now())::text || ' days')::interval - ((7-v)::text|| ' days')::interval dt
from generate_series(1,7) v) p1
where extract(month from p1.dt) = extract(month from now() - (extract(dow from now())::text || ' days')::interval))见小提琴。
https://stackoverflow.com/questions/73219610
复制相似问题