출석체크시 같은날 두번 하신분을 한개로 하려면 ? 채택완료
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개
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개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인