갯수구하는 쿼리좀 봐 주세요.

갯수구하는 쿼리좀 봐 주세요.

QA

갯수구하는 쿼리좀 봐 주세요.

본문


저는 등록된 리스트(여러개일수도 있음) 내에서  wr_0 ~ wr_20  입력된 값의 갯수를 구하고자 합니다. 
그림 파일을 보시면 이해하실수 있을겁니다. 
그냥 wr_0 에서 wr_20 중에  값이 입력된것만 갯수를 구하는 것입니다. ( 계산이 아님 )

 

아래와 같이 하니 자꾸 한줄의 갯수인  5( $count)만 나옵니다.  8이 나와야 하는데요..ㅜㅜ


$wr_goal_month="10";
 
$query2 = "select * from g5_write_kpi where wr_depart_name='기획실' wr_form = '6' and wr_goal_year ='2017'";  
                    $result2 = sql_query($query2); 
                    $row2 = sql_fetch_array($result2);
                    
                    $k="0";
                    $count="0";
                    $stack_goal_total="0";
                    for($k=1; $k<=$wr_goal_month; $k++){
                         
                            if($row2['wr_goal_'.$k]!==""){ // 값이 들어있는것만 찾아낸다.
                              $count++;
                             }
                    }
                    echo $count;
 

 

 

 

 

 

 

 

 

 

 

 

이 질문에 댓글 쓰기 :

답변 2

//루프를 돌리시면 됩니다


$wr_goal_month="10";
 
$query2 = "select * from g5_write_kpi where wr_depart_name='기획실' wr_form = '6' and wr_goal_year ='2017'";  
$result2 = sql_query($query2); 
while($row2 = sql_fetch_array($result2))
{
    
    $k="0";
    $count="0";
    $stack_goal_total="0";
    for($k=1; $k<=$wr_goal_month; $k++){
     
        if($row2['wr_goal_'.$k]!==""){ // 값이 들어있는것만 찾아낸다.
          $count++;
         }
    }
  }
  echo $count;

onlymilk47님  먼저 감사합니다.

제가 잘못해서 그런건지.. 그냥 숫자 0만 나오네요... 쿼리문은 이상이 없는듯하고 8이 나와야 정상인데...
난감하네요.ㅜㅜ

쿼리로 쉽게 구현하는 방법


$query2 = "select 
if(count(wr_1) > 0,1,0)
+ if(count(wr_2) > 0,1,0)
+ if(count(wr_3) > 0,1,0)
+ if(count(wr_4) > 0,1,0)
...
+ if(count(wr_19) > 0,1,0)
+ if(count(wr_20) > 0,1,0)
 cnt 
 g5_write_kpi where wr_depart_name='기획실' wr_form = '6' and wr_goal_year ='2017'";
$row = sql_fetch($query2);
$count = $row[cnt];
echo $count;

 

로 구현가능하고

 

위의 문장을 굳이 줄인다면


$query2 = "select 
if(count(wr_1) > 0,1,0)";
for ($i = 2; $i <= 20; $i++)  {
    $query2 .= "+ if(count(wr_".$i.") > 0,1,0) ";
}
$query2 .= " cnt 
 g5_write_kpi where wr_depart_name='기획실' wr_form = '6' and wr_goal_year ='2017'";
$row = sql_fetch($query2);
$count = $row[cnt];
echo $count;

 

로 구현가능합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 25
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT