如果我的问题结构不正确,首次是用户,请道歉。
我想从当前日期时间和上个月获取相同日期范围的所有记录,例如01st-15。日期字段有一个时间戳,所以所有记录都是小时和分钟。
select
'Total' as 'Measure',
sum(pa.amount) as 'Current Month'
from pay as pa
inner join mem as me on pa.me_id = me.me_id
where pa.pa_completed between last_day(current_date() - interval 1 month) +
interval 1 day
and if(current_date() = current_date(),current_timestamp(),current_date())
group by 1
union all
select
'Total' as 'Measure',
sum(pa.amount) as 'Last Month'
from pay as pa
inner join mem as me on pa.me_id = me.me_id
where pa.pa_completed between last_day(current_date() - interval 2 month) +
interval 1 day
and if(current_date() = current_date(),current_timestamp() - interval 1
month,current_date() - interval 1 month)
group by 1
上述代码中的where子句似乎没有返回正确的记录。我已经将两组SQL的输出交叉检查到我们的管理系统,数字略有偏差。
我在代码中出错了吗?还是有更好的解决方案来获得我追求的输出?
我将在仪表板上使用上述代码,因此current_date()每天都会更改。