2016-12-07 3 views
1

Я хочу подсчитать частоту всех элементов в таблице. Моя стартовая стол что-то вроде этого:Количество элементов в таблице с использованием SQL

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

И я хотел бы получить следующий результат:

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

Я думал, что самый простой способ будет добавлять все столбцы вместе, чтобы создать единый Колонна. С этим я мог бы применить операцию COUNT и GROUP BY. Вопрос в том, как добавить несколько столбцов в один столбец. Мне нужно это, чтобы реализовать алгоритм Apriori на моей таблице в DB Vertica. Это первый шаг, чтобы получить количество предметов. Спасибо за помощь.

ответ

1

UNPIVOT данные и сделать подсчет

Попробуйте этот путь

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

Спасибо за быструю помощь! Я знал, что есть простой способ, но я думаю, что глупо использовать Google. – valenzio

Смежные вопросы