php-从2个不同的日期获取数据并进行比较

我有个问题.所以我在数组中有此数据:

id      idm         amount           date
1        5          10              2017-08-23 12:12:12
2        5          20              2017-08-23 12:14:16
3        6          13              2017-08-23 18:00:00
4        5          25              2017-08-24 19:00:00
5        5          160             2017-08-24 19:30:00

因此,想法是从日期2017-08-23获得金额的总和,并与日期2017-08-24比较.例如,如果在这种情况下,用户的这两个值之间的差大于20,那么我找到了一个用户.

我的建议是使2 sql的:

select sum(amount) as prevIoUs_amount, idm 
FROM table
WHERE date >= '2017-08-23 00:00:00' AND date <= '2017-08-23 23:59:59' 
GROUP By idm

select sum(amount) as actual_amount, idm 
FROM table
WHERE date >= '2017-08-24 00:00:00' AND date <= '2017-08-24 23:59:59' 
GROUP By idm

并在PHP中进行处理,但是可能存在在sql中执行该操作的方法.你能帮我吗 ?提前谢谢,我的英语不好意思.

解决方法:

如果我正确理解,这就是您想要的:

select 
idm,
sum(case when date >= '2017-08-23 00:00:00' AND date <= '2017-08-23 23:59:59' then amount end)  -
sum(case when date >= '2017-08-24 00:00:00' AND date <= '2017-08-24 23:59:59' then amount end)  as diff
from your_table
group by idm
having diff not between -20 and 20

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...