간단한 SQL 문법 좀 봐주세요. 채택완료
추팔소
7년 전
조회 1,966
</p>
<p> <?php
$point_sql = "SELECT DISTINCT t1.mb_id, t1.mb_point, t1.mb_nick, t1.mb_level, COUNT(t1.mb_id) AS ranking
FROM {$g5['member_table']} t1, {$g5['member_table']} t2
WHERE (t1.mb_point < t2.mb_point
OR t1.mb_id = t2.mb_id)
GROUP BY t1.mb_id
ORDER BY ranking
LIMIT 0 , 1";
$point_que = sql_query($point_sql);
while($point_row = sql_fetch_array($point_que)){
$tmp_member = sql_fetch("select mb_id, mb_nick, mb_email, mb_homepage from {$g5['member_table']} where mb_id = '".$point_row['mb_id']."'");
$tmp_sideview = get_sideview($tmp_member['mb_id'], cut_str($tmp_member['mb_nick'], $config['cf_cut_name']), $tmp_member['mb_email'], $tmp_member['mb_homepage']);
?>
<span style="line-height:1.8em"> <?=level_icon($point_row['mb_id'])?> </span><?=$tmp_sideview?>
<span style="color:#000">(<?=number_format($point_row['mb_point'])?>)</span> 님 포인트 1등입니다.
<? } ?></p>
<p>
$point_sql 조건문에 mb_level<9 를 넣어야 하는데
내용에 있는 코드 이대로 출력해보면 잘 뜨는데 제가 mb_level<9를 WHERE에 추가하고
출력시키면 내용이 안뜨네요 ㅠㅠ 문법이 잘못된건지..
올린 코드는 원본인데 저기서 어떻게 추가해야할지 알려주시면 감사하겠습니다
댓글을 작성하려면 로그인이 필요합니다.
답변 3개
채택된 답변
+20 포인트
7년 전
WHERE (t1.mb_point < t2.mb_point OR t1.mb_id = t2.mb_id)
조건절만 봐서는 이상은 없습니다.
WHERE (t1.mb_point < t2.mb_point OR t1.mb_id = t2.mb_id) AND t1.mb_level < 9 이렇게 했는데 안된다는 건가요?
에러 메세지를 보여주시면 정확히 알수 있겠네요
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
7년 전
작동 안할거 같습니다
grouy by는 멀티함수 이외의 것들이 대상입니다
group by 문법을 찾아보시고
원하시는 랭킹을 뭘하실지 정리하신다음
Sql문으로 먼저 수행해본후에 코딩을 하세요
where절로 뭘하시고 싶은지 애매해보입니다
where만 봐도 안나올듯 싶기도해요
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인