最好通过一个例子询问这个令人困惑的问题。假设我们有以下结果集:
我想要做的是计算两个列中出现一个数字的次数。
因此返回的数据集可能如下所示:
ID Counted
0 4
1 2
9 1
13 1
我最初的想法是在两个ID的计数之间进行某种添加,但我不确定如何在SQL中以GROUP
方式工作。
答案 0 :(得分:3)
您可以使用子查询GROUP BY
和UNION ALL
执行此操作,如下所示:
SELECT ID, COUNT(*)
FROM(
SELECT ID1 AS ID FROM MyTable
UNION ALL
SELECT ID2 AS ID FROM MyTable
) source
GROUP BY ID
ORDER BY ID ASC