[英]Merge two tables with same structure and numers sum
您好,我有兩個結構相同的表,現在我想合並它。
條款:
steamid - 不用說
regcas - 只保留一個較小的值
VIP - 總和
FunVIP -重復時忽略
天數- 總和
KilledCT - 總和
WinPP - 總和
LastT - 總和
大小寫總和
lastnick -重復時忽略
lastlog -重復時忽略
ct_cas - 總和
simon_cas - 總和
重復時的示例:
主表中的行
steamid | regcas | VIP | FunVIP | Days | KilledCT | WinPP | LastT | lastnick | lastlog | ct_cas | simon_cas
------------------------------------------------------------------------------------------------------------------------------
76561198040874389 | 1546639030 | 1 | 0 | 125 | 1000 | 20 | 50 | Bomber | 1546639037 | 64 | 50
第二個表的行
steamid | regcas | VIP | FunVIP | Days | KilledCT | WinPP | LastT | lastnick | lastlog | ct_cas | simon_cas
------------------------------------------------------------------------------------------------------------------------------
76561198040874389 | 1553888234 | 1 | 5 | 100 | 1555 | 40 | 20 | Lucker | 1549387793 | 10 | 1
結果
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 語句,我需要幫助。
合並兩個表。可以使用連接表命令。
從自然連接中選擇*;
OR [1]
select*from,其中 column.table1=column.table2;
您似乎想要union all
和group by
。 我不知道“忽略重復項”應該是什么意思,但min()
似乎足夠接近。 所以:
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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.