everda

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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一下都可以
posted on 2018-12-11 20:13  everda  阅读(147)  评论(0编辑  收藏  举报