2016-12-07 29 views
1

我想統計表中所有項目的頻率。我的出發表是這樣的:使用SQL的表中的項目數

+------+------+ 
| Col1 | Col2 | 
+------+------+ 
| A | Z | 
| B | Y | 
| A | Y | 
+------+------+ 

而且我希望得到以下結果:

+------+-------+ 
| Item | Count | 
+------+-------+ 
| A |  2 | 
| B |  1 | 
| Y |  2 | 
| Z |  1 | 
+------+-------+ 

我在想,最簡單的方法是將所有列追加共同創造一個單一的柱。用這個我可以應用COUNT和GROUP BY操作。問題是,如何將多列添加到一列中。 我需要這個在我的Vertica數據庫的表上實現Apriori算法。這是獲取項目數量的第一步。 感謝您的幫助。

回答

1

逆透視的數據,並做計數

嘗試這種方式

select Item,count(1) 
From 
(
select col1 as Item from yourtable 
union all 
select col2 from yourtable 
) A 
Group by item 
+0

感謝您的快速幫助!我知道有一個簡單的方法,但我想愚蠢地使用谷歌正確的方式。 – valenzio

相關問題