關於MERGE 的用法

2021-04-25 06:56:32 字數 1412 閱讀 3451

題目:

乙個月統計一次每個雇員去了哪些國家

user_name  region

tom        india

jerry      usa

mike      england

marry      holland

但是有一張彙總表

user_name    least_region   arrived_region_count

雇員名            最新去的國家      已經到過多少個國家

tom               india                4

jerry              usa                  6

mike              england           10

marry            holland            11

已經到過多少個國家

的計算規則是 如果上個月 這個表的資料還是

user_name    least_region  arrived_region_count

雇員名        最新去的國家      已經到過多少個國家

tom        greece                  3

jerry      sweden                4

mike        switchland              9

marry        germany              10

例如tom上個月還只到了3個國家,那麼這個月需要就是 3+1,因為tom這個月又去了乙個新的國家,印度。

解答:/*

用user_name欄位將a和b表關聯,

若可關聯到則將b表中的記錄更新到a,

若沒有關聯到,則將b中「多出」的記錄插入a表

*/merge agg_table a

using month_table m

on (a.user_name = m.user_name)    --用user_name欄位將a和b表關聯,

when matched then    --若可關聯到則將b表中的記錄更新到a

update

set last_region          = m.region,

arrived_region_count = arrived_region_count + 1

when not matched then     --若沒有關聯到,則將b中「多出」的記錄插入a表

insert

(user_name, least_region, arrived_region_count)

values

(m.user_name, m.region, 1);

pandas中merge的用法

pandas中的merge和concat類似,但主要是用於 兩組有key column的資料 統一索引的資料.通常也被用在database的處理當中。import pandas as pd 定義資料集並列印出 left pd.dataframe right pd.dataframe print le...

SQL中Merge的用法

merge關鍵字是乙個神奇的dml關鍵字。它在sql server 2008被引入,它能將insert,update,delete簡單的並為一句。msdn對於merge的解釋非常的短小精悍 根據與源表聯接的結果,對目標表執行插入 更新或刪除操作。例如,根據在另乙個表中找到的差異在乙個表中插入 更新或...

SQL中Merge的用法

merge關鍵字是乙個神奇的dml關鍵字。它在sql server 2008被引入,它能將insert,update,delete簡單的並為一句。msdn對於merge的解釋非常的短小精悍 根據與源表聯接的結果,對目標表執行插入 更新或刪除操作。例如,根據在另乙個表中找到的差異在乙個表中插入 更新或...