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

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

KIMys 10년 전 조회 3,210

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개

채택된 답변
+20 포인트

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값을 더하시면 안됩니다

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

즉 

 </p><p>$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​</p><p>$result = sql_query($sql);</p><p>while($row=sql_fetch_array($result)){</p><p style="margin-left: 40px;">if($row['mcnt']) echo("이날은 출책했네");</p><p style="margin-left: 40px;">else echo("이날은 출책안했네"); </p><p>} </p><p>

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

 

 

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

답변에 대한 댓글 1개

K
KIMys
10년 전
선 채택 후 테스트 진행해 보겠습니다.

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

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

로그인