[英]Count Unique Combinations of Pairs From 2 Columns That Share A Specific Attribute
給定 2 列事件參與者 ID 和事件:
id | event
1 | A
2 | A
3 | A
1 | B
4 | B
2 | C
3 | C
1 | D
4 | D
1 | E
2 | E
4 | E
我希望計算所有可能的、獨特的組合共同事件參與者對的出現次數,這類似於:
pair | times_co_participate | co_events
1, 2 | 2 | A, E
1, 3 | 1 | A
1, 4 | 3 | B, D, E
2, 3 | 2 | A, C
2, 4 | 1 | E
3, 4 | 0 | null
id 對可以在 id1 和 id2 的 2 個單獨的列中,最終目標是找到具有最高共同參與發生率的對
使用自聯接和聚合:
select t1.id, t2.id, count(*), array_agg(event) as events
from t t1 join
t t2
on t1.event = t2.event and t1.id < t2.id
group by t1.id, t2.id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.