如何在mysql中查询退款创建时间超过24小时的数据

用户请求查询创建时间超过24小时且退款金额为0的订单。最初SQL逻辑错误导致结果不准确。错误逻辑是`hour(now() - from_unixtime(sora.create_time)) > 24`。正确做法是选择当前时间减去24小时作为阈值,筛选创建时间在此之前的退款订单。修正后的SQL解决了问题。
摘要由CSDN通过智能技术生成

今天用户提了一个请求,想要拉出来创建时间超过24小时的订单号和订单金额。

在拉取订单量之前,需要先明确下需求。

需求为:

/*麻烦请拉取下,官网订单退款的状态是已接收申请,但是已退款金额为0,并且时间大于24小时的订单。谢谢
订单号  申请金额  */

这个问题的难点在于,这个超过24小时。

一开始我根据用户要求,将逻辑初步梳理为:now() - 退款申请创建时间 > 24小时即可。

于是我的mysql代码如下:


select 
soo.order_bn as '订单号',
sora.money as '申请金额'
from sdb_ome_orders soo 
inner join sdb_ome_refund_apply sora on soo.order_id = sora.order_id 
where soo.shop_type = 'cube'
and sora.status = '2'
and sora.refunded = '0'
and hour(now() - from_unixtime(sora.create_time)) > 24;

运行sql后,只有11个结果返回:

 

我从query以后的结果抽了几天去前端界面check了一下,确实是24小时以前的,没什么问题。

所以当时我当然以为是对的,用户没说啥。

后来用户找到了一个订单号&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆萌的小辣条

您的打赏将是对我最大的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值