SQL日期区间如何达到选择过滤器的日维度后自动把数据过滤到从月初至今

需求:

日维度区间:选择一个日期后,例如2025-09-10,数据展示的是从9月初第一天到10号的合计值,而不是单独10号的数据。。

FineReport Henry.99 发布于 前天 10:55
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
用户k6280494Lv6专家互助
发布于前天 10:57

select sum(zd) from where rq>='${DATEINMONTH(rq,1)}' and rq<='${rq}'

  • Henry.99 Henry.99(提问者) 请问如何做到这个需求呢?
    筛选页面日期控件,例如:2025-09-15,自动获取到上个月同期范围数据,也就是2025-08-01 到 2025-08-15 的范围数据

    注意不是一天的数据,是一个范围的数据,虽然筛选器选择的是一个天数,但是返回的数据是一个范围上个月同期数据。。。
    2025-09-08 11:54 
  • Henry.99 Henry.99(提问者) 具体可以看一下我最新发布的,你这段SQL可以解决同月数据,但是我想获取上个月的范围数据咋办呀,感谢回复
    2025-09-08 11:55 
  • 用户k6280494 用户k6280494 回复 Henry.99(提问者) 解决了吗 现在才看见
    2025-09-08 16:01 
  • Henry.99 Henry.99(提问者) 回复 用户k6280494 有个新的问题,获取上一年的同期范围数据咋办呀,我又发了一个新的
    2025-09-08 16:47 
  • 用户k6280494 用户k6280494 回复 Henry.99(提问者) 用公式减一年就行了啊
    2025-09-09 09:41 
最佳回答
0
ScyalcireLv7高级互助
发布于前天 11:09(编辑于 前天 11:10

SELECT * FROM your_table

WHERE date_column BETWEEN DATE(YEAR(${selected_date}), MONTH(${selected_date}), 1) AND ${selected_date}

其他数据库特定的月初计算函数,例如:

  • MySQL: DATE_FORMAT(${selected_date}, '%Y-%m-01')

  • Oracle: TRUNC(${selected_date}, 'MM')

  • 3关注人数
  • 27浏览人数
  • 最后回答于:前天 11:10
    请选择关闭问题的原因
    确定 取消
    返回顶部