我有一个包含2列A和B的表,它们代表两者之间的连接图。
A B
1 3
2 5
4 2
3 5
2 3
我需要找到列B中包含A列的实例(包括0)
因此,对于上面的示例,我需要结果集
A OccurencesInB
1 0
2 1
3 2
4 0
我到目前为止最好的是
SELECT B, COUNT(*) AS TABLE_COUNT
FROM TABLE
GROUP BY B
ORDER BY TABLE_COUNT DESC
这没有找到B中没有出现的A的实例,这是至关重要的。 任何帮助将不胜感激!
答案 0 :(得分:0)
使用相关的子查询:
SELECT A,
TABLE_COUNT = (SELECT COUNT(*)
FROM TableName t2
WHERE t2.B = t1.A)
FROM TableName t1
GROUP BY A
ORDER BY TABLE_COUNT DESC, A
结果:
A TABLE_COUNT
3 2
2 1
1 0
4 0