orderid|dept|deal_person|
-------|----|-----------|
001 |x |a,b |
002 |x |b,c |
003 |x |a,b,c |
select
dept,
collect_set(deal_person)
,concat_ws(',',collect_set(deal_person)) as all_persons
,size(split(concat_ws(',',collect_set(deal_person)),',')) as all_person_cnts
FROM ads_test_collect group by dept
dept|collect_set(deal_person)|all_persons |all_person_cnts|
----|------------------------|-------------|---------------|
x |["a,b","a,b,c","b,c"] |a,b,a,b,c,b,c| 7|