출석체크시 같은날 두번 하신분을 한개로 하려면 ?
본문
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값을 더하시면 안됩니다
그냥 있는지 없는지로 따지셔야 출석이 된건지 안된건지 나오겟지요
즉
$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("이날은 출책안했네");
}
이런형태의 검사가 되어져야 겠지요
!-->