GROUP BY列A或列B.

时间:2015-01-26 23:00:18

标签: group-by union

我有一个包含2列(ref1,ref2)的表引用另一个表。我正在寻找一个SELECT查询来生成ref1或ref2中值的存在摘要,如果两列中的值都计数两次:

SELECT ref1,ref2 from table;
(100,100),
(100,101),
(100,NULL)

应该导致:

(100,4),
(101,1)

我能想到的唯一方法是UNION,但我希望还有另一种方法。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

union删除了重复项,因此无法运行 - 您需要union all运算符:

SELECT ref, COUNT(*)
FROM   (SELECT ref1 AS ref FROM mytable
        UNION ALL
        SELECT ref2 AS ref FROM mytable) t