case1.a与b匹配表保留一条匹配关系
背景:匹配b,b匹配a在同一张表;
match_table表为:
uid,m_uid
111,222
222,111
需求:只保留一条匹配关系。
结果为:
uid,m_uid
111,222
方案:利用数组排序
select uid,m_uid,concat(sort_array(split(concat(uid,',',m_uid),','))[0],',',sort_array(split(concat(uid,',',m_uid),','))[1]) as join_ids from match_table
-- 此时,join_ids都是111,222
-- 再split或者row_number一下都可以