月份记录

时间:2018-01-15 15:03:40

标签: mysql datetime

如果我的问题结构不正确,首次是用户,请道歉。

我想从当前日期时间和上个月获取相同日期范围的所有记录,例如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()每天都会更改。

0 个答案:

没有答案