我一直在努力解决这个问题 [样本表]
ITEM GROUP
---- -----
4 A
7 A
3 A
8 A
7 B
6 B
9 B
0 C
4 C
2 C
5 C
4 C
7 C
5 D
9 D
2 E
7 E
1 E
4 E
7 F
3 F
9 F
6 F
8 G
4 H
5 H
3 H
9 H
0 H
8 H
我需要一个sql查询,它会告诉我在一系列SELECT DISTINCT ITEM中,每个“ITEM”出现了多少次在一个特定的组中相互出现。
IE: 项目4和8出现2次(A组和H组)。 项目0和4出现2次(组C和H)。 项目7,6和9出现2次(B组和F组)。 ..并做。可以忽略仅出现在一个组中的“流氓”项目。
可以吗?感谢
答案 0 :(得分:2)
这适用于成对的项目:
SELECT T1.item, T2.item, COUNT(*)
FROM yourTable T1
JOIN yourTable T2
ON T1.item < T2.item
AND T1.group = T2.group
GROUP BY T1.item, T2.item