2015-01-26 79 views
1

我有一個表有2列(ref1,ref2)引用另一個表。我要尋找一個SELECT查詢產生的頻率在REF1值或REF2存在,在兩列兩次計算,如果值是一個總結:GROUP BY A列或B列

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

應導致:

(100,4), 
(101,1) 

的我能想到的唯一辦法是聯盟,但我希望有另一種方式。有任何想法嗎 ?

回答

0

union刪除重複,所以這是行不通的 - 你需要的union all操作:

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