我有一个包含2列(ref1,ref2)的表引用另一个表。我正在寻找一个SELECT查询来生成ref1或ref2中值的存在摘要,如果两列中的值都计数两次:
SELECT ref1,ref2 from table;
(100,100),
(100,101),
(100,NULL)
应该导致:
(100,4),
(101,1)
我能想到的唯一方法是UNION,但我希望还有另一种方法。有什么想法吗?
答案 0 :(得分:0)
union
删除了重复项,因此无法运行 - 您需要union all
运算符:
SELECT ref, COUNT(*)
FROM (SELECT ref1 AS ref FROM mytable
UNION ALL
SELECT ref2 AS ref FROM mytable) t