테스트 사이트 - 개발 중인 베타 버전입니다

sql 값이 있는 수를 뽑을때 채택완료

히어1 10년 전 조회 2,075

$sort_cols = array('wr_c1', 'wr_c2', 'wr_c3', 'wr_c4', 'wr_c5', 'wr_c6', 'wr_c7', 'wr_c8', 'wr_c9', 'wr_c10');  // 뽑아올필드명 $c_row = sql_fetch(" SELECT ".join(", ", $sort_cols)." FROM g5_mys WHERE wr_id = '{$mys[wr_id]}' ");​

 

10개의 필드에서 값을 쭉 뽑아오는건데요.

10개의 필드중 값이들어잇는것만 총 몇개인지를 알려면 어덯게 해야하는지요?

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
10년 전

$c_row = sql_fetch(" SELECT ".join(", ", $sort_cols)." FROM g5_mys WHERE wr_id = '{$mys[wr_id]}' ");​

위의 쿼리를 그대로 사용하면서

값이 들어 있는 필드의 갯수를 구하려면 아래와 같이 해보세요.

 

</p><p>$cnt = 0;</p><p>foreach($c_row as $val){</p><p>   if($val) $cnt++;</p><p>}</p><p> </p><p>echo $cnt; //값이 들어있는 필드의 갯수</p><p>
 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

10년 전

select sum(if( wr_c1, 1, 0)) as wr_c1_cnt from g5_mys ;

 

 

이렇게 하시면 값이 들어있는 컬럼만 카운트하게 되요.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

히어1
10년 전
뽑아올필드명이10개라면 10번을 sql 돌려야하나요?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인