Mysql 合并两个具有相同结构和数字总和的表

Mysql 合并两个具有相同结构和数字总和的表,mysql,sql,Mysql,Sql,你好,我有两个结构相同的表,现在我想合并它 以下是结构: 条款: 蒸汽ID-这是不言而喻的 regcas-仅保留较小的值 VIP-总和 FunVIP-复制时忽略 天数-总和 KilledCT-sum WinPP-求和 LastT-sum cas-总和 lastnick-复制时忽略 lastlog-复制时忽略 ct\u cas-总和 simon_cas-sum 复制时的示例: 主表中的行 第二个表中的行 结果 steamid | regcas | VIP | Fu

你好,我有两个结构相同的表,现在我想合并它

以下是结构:

条款:

蒸汽ID-这是不言而喻的

regcas-仅保留较小的值

VIP-总和

FunVIP-复制时忽略

天数-总和

KilledCT-sum

WinPP-求和

LastT-sum

cas-总和

lastnick-复制时忽略

lastlog-复制时忽略

ct\u cas-总和

simon_cas-sum

复制时的示例:

主表中的行

第二个表中的行

结果

steamid            | regcas      | VIP | FunVIP | Days | KilledCT | WinPP | LastT | lastnick | lastlog    | ct_cas | simon_cas
------------------------------------------------------------------------------------------------------------------------------
76561198040874389  | 1546639030  | 2   | 0      | 225  | 2555     | 60    | 70    | Bomber   | 1546639037 | 74     | 51

我完全不知道如何编写复杂的SQL语句,我需要帮助。

合并两个表。可以使用join tables命令

从自然连接中选择*

              OR [1]

选择*from,其中column.table1=column.table2您似乎希望
联合所有人
分组人
。我不知道“忽略重复”应该是什么意思,但是
min()
似乎已经足够接近了。因此:

              OR [1]
select steamid, min(regcas) as regcas, sum(vip) as vip), 
       min(FunVIP) as FunVIP,
       sum(Days) as days, sum(KilledCT) as KilledCT, sum(WinPP) as WinPP,
       sum(LastT) as LastT, sum(cas) as cas,
       min(lastnick) as lastnick,
       min(lastlog) as lastlog,
       sum(ct_cas) as ct_cas, sum(simon_cas) as simon_cas
from ((select t1.* from table1 t1) union all
      (select t2.* from table2 t2)
     ) t2
group by steamid;

你说的合并到底是什么意思?你能分享一些样本数据和你想要得到的结果吗?合并所有的表。根据结果分组。你怎么知道选择哪一个?主桌的那个?@jarlh只是我想忽略FunVIP,lastlog,lastnick当duplicingIgnore?您的意思是要保留主表中的FunVIP、lastlog、lastnick值吗?请添加更多详细信息,例如示例、样本数据等@mohdatif将在下次执行此操作
select steamid, min(regcas) as regcas, sum(vip) as vip), 
       min(FunVIP) as FunVIP,
       sum(Days) as days, sum(KilledCT) as KilledCT, sum(WinPP) as WinPP,
       sum(LastT) as LastT, sum(cas) as cas,
       min(lastnick) as lastnick,
       min(lastlog) as lastlog,
       sum(ct_cas) as ct_cas, sum(simon_cas) as simon_cas
from ((select t1.* from table1 t1) union all
      (select t2.* from table2 t2)
     ) t2
group by steamid;