1. 程式人生 > >mysql合併兩個表

mysql合併兩個表

背景描述:

表A 欄位:id,  deal_time          deal_amount       deal_type

                         (交易時間)     (交易金額)         (交易型別)

                    1    2016.11.20                 10                        0

                    1    2016.11.21                 40                        0

                    1    2016.11.22                 15                        1

                    2    2016.11.20                 15                        0

                    2    2016.11.21                 10                        0

                    2    2016.11.22                 10                        0

                    3    2016.11.20                 10                        1

現想統計交易型別為 0 的每個 id 的交易總金額,及交易次數即:

表B 欄位: id,   sum_amount     deal_times  ...(其他屬性)

                                 交易總金額         交易次數

                    1              50                          2

                    2              35                          3

方法:借用臨時表

      step1: 建立一個臨時表:            create  temporary table tmp(                 id  int,                deal_sum_amount  int,                deal_times int                index(id)              ) char set utf8;
      step2:  將查詢的結果放入臨時表              insert into tmp select id, sum(deal_amount), count(id) from A where deal_type = 0 group by id;          step3: 更新表               update B, tmp t set B.sum_amount = t. deal_sum_amount , B . deal_times = t . deal_times where B.id = t . id;