채택완료

sql 값이 있는 수를 뽑을때

2015-09-08 (화) 23:38:52 2,210

$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개 / 댓글 1개

채택된 답변
+20 포인트
2015-09-09 (수) 17:06:05

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

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

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

Copy
$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 ;

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

답변에 대한 댓글 1개

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

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