1. 程式人生 > >【HQL】小技巧

【HQL】小技巧

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一下都可以