一行列等于SQL中另一行的另一列的次数

时间:2013-10-30 09:53:52

标签: sql

最好通过一个例子询问这个令人困惑的问题。假设我们有以下结果集:

http://i.imgur.com/qHZcfBD.png

我想要做的是计算两个列中出现一个数字的次数。

因此返回的数据集可能如下所示:

ID    Counted
0      4
1      2
9      1
13     1

我最初的想法是在两个ID的计数之间进行某种添加,但我不确定如何在SQL中以GROUP方式工作。

1 个答案:

答案 0 :(得分:3)

您可以使用子查询GROUP BYUNION 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