sql 값이 있는 수를 뽑을때
본문
$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
$c_row = sql_fetch(" SELECT ".join(", ", $sort_cols)." FROM g5_mys WHERE wr_id = '{$mys[wr_id]}' ");
위의 쿼리를 그대로 사용하면서
값이 들어 있는 필드의 갯수를 구하려면 아래와 같이 해보세요.
$cnt = 0;
foreach($c_row as $val){
if($val) $cnt++;
}
echo $cnt; //값이 들어있는 필드의 갯수
select sum(if( wr_c1, 1, 0)) as wr_c1_cnt from g5_mys ;
이렇게 하시면 값이 들어있는 컬럼만 카운트하게 되요.
답변을 작성하시기 전에 로그인 해주세요.