我有一個表有兩列感興趣的列item_id
和bucket_id
。 bucket_id
有固定數量的值,如果需要,我可以列出它們。計算組之間的重疊
每個item_id
可以出現多次,但每次出現時將有一個單獨的bucket_id
值。例如,123
的item_id
可以在表格中出現兩次,在A
的bucket_id
下出現一次,在B
出現一次。
我的目標是確定有多少重疊的每一對bucket_id
值之間存在並將其顯示爲一個N×N的矩陣。
例如,請考慮以下的小示例表:
item_id bucket_id
========= ===========
111 A
111 B
111 C
222 B
222 D
333 A
333 C
444 C
因此,對於這個數據集,水桶A
和B
的共同點,水桶C
一個item_id
和D
沒有共同項目等
我想將上表格式化爲如下格式:
A B C D
===================================
A 2 1 2 0
B 1 2 1 1
C 2 1 3 0
D 0 1 0 1
在上表中,行和列的交叉告訴你許多記錄都bucket_id
值是如何存在的。例如,如果A
行與C
列相交,則我們有2
,因爲在bucket_id
A和C中都存在2條記錄。由於X和Y的交點與Y和X的交點相同,因此上述桌子在對角線上被鏡像。
我想象中的查詢涉及PIVOT
,但我不能爲我的生活弄清楚如何得到它的工作。
什麼是最後一個表格表示(例如行A列C的值爲2表示什麼?)? – John
@John - 我在桌子下面增加了一些解釋。 –
這是一種度量。但是可以安慰 – Ravi