mysql - 如何快速找出三個表的數據是否一致,并找出異同
問題描述
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分批搞
