您的位置:首页技术文章
文章详情页

mysql - 如何快速找出三个表的数据是否一致,并找出异同

【字号: 日期:2022-06-19 10:45:42浏览:25作者:猪猪

问题描述

1.为了快速统计出支付宝的支付方式是否存在漏洞,对支付宝订单的回调建表存储

2.有以下三个表

select notify_id,out_trade_no,trade_no,COUNT(*),notify_time FROM alipay_callback WHERE trade_status = ’TRADE_SUCCESS’ GROUP BY notify_id HAVING COUNT(*) > 1 ORDER BY notify_timeselect notify_id,out_trade_no,trade_no,COUNT(*),notify_time FROM alipay_callback WHERE trade_status = ’TRADE_SUCCESS’ GROUP BY out_trade_no HAVING COUNT(*) > 1 ORDER BY notify_timeselect notify_id,out_trade_no,trade_no,COUNT(*),notify_time FROM alipay_callback WHERE trade_status = ’TRADE_SUCCESS’ GROUP BY trade_no HAVING COUNT(*) > 1 ORDER BY notify_time

3.当上述三个表一致时视为数据正常,如何快速比较三个表,并且找出不一致的数据?

问题解答

回答1:

个人建议在你的应用程序里面做,不要把很复杂的逻辑放在sql中,即便sql只要几行而程序要几十行。sql就是存储和查询的地方,程序才是干逻辑的地方,易于实现易于维护易于扩展易于让后人读懂

如果你这个用应用程序来搞,相信没啥问题了吧。如果数据大就按notify_time分批搞