我想计算表格中所有项目的频率。我的起始表是这样的:
+------+------+
| Col1 | Col2 |
+------+------+
| A | Z |
| B | Y |
| A | Y |
+------+------+
我想得到以下结果:
+------+-------+
| Item | Count |
+------+-------+
| A | 2 |
| B | 1 |
| Y | 2 |
| Z | 1 |
+------+-------+
我在想,最简单的方法是将所有列附加在一起以创建单个列。这样,我可以应用COUNT和GROUP BY操作。问题是,如何将多列附加到一个列中。我需要它来在Vertica DB中的表上实现Apriori算法。这是获得商品计数的第一步。谢谢您的帮助。
取消数据透视并进行计数
试试这个
select Item,count(1)
From
(
select col1 as Item from yourtable
union all
select col2 from yourtable
) A
Group by item
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句