2017-05-09 4 views
-2

하나의 테이블에있는 모든 열의 모든 항목의 빈도를 계산하고 싶습니다.테이블의 모든 열에있는 모든 값의 개수 선택

col_1| col_2 | col_3 | ... 
--------------------------- 
a | a  | c | ... 
c | d  | e | ... 
g | d  | c | ... 
g | d  | p | ... 


Expected Result: 
count_1| count_2 | count_3 | ... 
--------------------------- 
a (1) | a (1) | c(2)| ... 
c (1) | d (3) | e(1)| ... 
g (2) |   | p(1)| ... 
+1

이런 종류의 문제는 잘못된 디자인의 증상입니다. – Strawberry

답변

0

별도의 아니라 별도의 것보다 의 값을 넣어 내가 제안 :

select 'col1' as which, col1, count(*) as cnt 
from t 
group by col1 
union all 
select 'col2' as which, col2, count(*) as cnt 
from t 
group by col2 
union all 
. . . 

지정한 형식은 특히 "관계"아니다 예를 들어 왜냐하면 각 행의 값이 실제로는 같은 엔티티의 일부가 아니기 때문입니다.

관련 문제