데이터 출력(카운팅) 질문 좀 드리겠습니다.
본문
안녕하세요.
저장된 데이터의 종류별로 카운트를 하고싶은데 막히는 부분이 있어 도움을 청하고자 합니다.
no1 no2 no3 no4 no5
1 2 1 4 3
2 1 3 2 1
1 4 2 2 2
3 5 4 2 3
이렇게 no1~5 컬럼에 데이터들이 있을때
no1에서 1은 몇개 2는 몇개 3은 몇개
no2에서 1은 몇개~~no5에서 1은 몇개 2는 몇개
이렇게 결과를 보려면 어떻게 해야할까요?
또 한가지....
no6 no7
1,2,3 1,3,5
이렇게 데이터가 ,로 구분된 복수가 들어있을경우에는 어떻게 해야할지 난감합니다....ㅠㅠ
답변 2
select
( select count(*) from `table` where no1 = 1 ) as no1_1cnt,
( select count(*) from `table` where no1 = 2 ) as no1_2cnt,
( select count(*) from `table` where no6 IN ( 1,2,3 ) ) as no2_cnt
form `table` where 1=1;
대략 이렇게 되지 않을까요..?
잠깐보고 올린거라 테스트는 안해봤습니다.
참고만 해주세요.
어떤 정보를 저장하려고 저런 테이블을 만드셨는지 모르지만
DB modeling 중에 M:N 관계에 대해서 한번 검토해 보세요.