mysql - 如何快速找出三個(gè)表的數(shù)據(jù)是否一致,并找出異同
問題描述
1.為了快速統(tǒng)計(jì)出支付寶的支付方式是否存在漏洞,對支付寶訂單的回調(diào)建表存儲
2.有以下三個(gè)表
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.當(dāng)上述三個(gè)表一致時(shí)視為數(shù)據(jù)正常,如何快速比較三個(gè)表,并且找出不一致的數(shù)據(jù)?
問題解答
回答1:個(gè)人建議在你的應(yīng)用程序里面做,不要把很復(fù)雜的邏輯放在sql中,即便sql只要幾行而程序要幾十行。sql就是存儲和查詢的地方,程序才是干邏輯的地方,易于實(shí)現(xiàn)易于維護(hù)易于擴(kuò)展易于讓后人讀懂
如果你這個(gè)用應(yīng)用程序來搞,相信沒啥問題了吧。如果數(shù)據(jù)大就按notify_time分批搞
