여러칼럼 검색질문
본문
멤버 테이블 mb_1 ~ mb_7 까지 점수가 있습니다.
1~10점까지.
여기서 질문이 있습니다.
예시)
mb_id | mb_1 | mb_2 | ~~ | mb_7 |
a11 | 1 | 7 | 1 | |
b22 | 6 | 1 | 10 | |
c33 | 3 | 5 | 1 | |
d44 | 2 | 1 | 9 |
이럴때 mb_1 ~mb_7 의 점수가 1점이 몇개인지 찾는 쿼리가 궁금합니다.
$sql =" select count(*) as cnt from {$g5['member_table']} where mb_1 =1 or mb_2 =1 or mb_3 =1 or mb_4 =1 or mb_5 = 1 or mb_6 =1 or mb_7 = 1";
$row = sql_fetch($sql);
$cnt = $row['cnt'];
로 구했는데... 줄일 수 있는 방법이 있을런지요?
!-->답변 2
질문의 예에서 1점은 5개나 있어요.
mb_id mb_1 mb_2 ~~ mb_7
a11 1 7 1
b22 6 1 10
c33 3 5 1
d44 2 1 9
"mb_1 ~mb_7 의 점수가 1점이 몇개인지 찾는 쿼리가 궁금"하다 했는데
5를 구하려는 것인가요? 4를 구하려는 것인가요?
아니면 아래처럼 id별 1점 개수를 구하려는 것인가요?
a11 2
b22 1
c33 1
d44 1
select mb_id, if( mb_1=1,1,0)
+if( mb_2=1,1,0)+ ...if( mb_7=1,1,0) AS count from g5_member
답변을 작성하시기 전에 로그인 해주세요.