3

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

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

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

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

ID    Counted
0      4
1      2
9      1
13     1

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

4

1 回答 1

3

您可以使用子查询、GROUP BY和 a来执行此操作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
于 2013-10-30T09:58:55.920 回答