채택완료

출석체크시 같은날 두번 하신분을 한개로 하려면 ?

select *, count(*) as mcnt
from g5_write_attend
where (1) and mb_id<>'' and mb_id<>'admin' and wr_datetime >= '2015-02-01' and wr_datetime <= '2015-02-28'
group by mb_id
order by mcnt desc​

이런식으로 하면 28일이 나와야 하는데

최대 값이 같은날 두번 클릭하신 분이 어떻게 존재하게 되어

29가 나옵니다.

같은날 체크한걸 한개로 합산하려 결과를 보려면 어떻게 해야 할까요 ?

|

답변 1개 / 댓글 1개

채택된 답변
+20 포인트
2015-03-31 (화) 17:10:30

db에 직접 쿼리를 날려보시면 현재의 데이터의 값은

mb_id                   wr_datetime                        mcnt

aaa                       2015-1-1                              1 

bbb                       2015-1-1                              1

ccc                       2015-1-1                              1

aaa                       2015-1-2                              1

bbb                       2015-1-2                              1

ccc                       2015-1-2                              1

~

~

aaa                       2015-1-2                              1

bbb                       2015-1-2                              2 

ccc                       2015-1-2                              2 

라고 쳤을 때 이 mcnt값을 더하시면 안됩니다

그냥 있는지 없는지로 따지셔야 출석이 된건지 안된건지 나오겟지요

즉 

Copy
$sql = select *, count(*) as mcnt from g5_write_attend where (1) and mb_id<>'' and mb_id<>'admin' and wr_datetime between '2015-02-01' and '2015-02-28' group by mb_id,wr_datetime order by mcnt desc​$result = sql_query($sql);while($row=sql_fetch_array($result)){if($row['mcnt']) echo("이날은 출책했네");else echo("이날은 출책안했네"); }

이런형태의 검사가 되어져야 겠지요 

답변에 대한 댓글 1개

선 채택 후 테스트 진행해 보겠습니다.

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