게시물 2개이상 올린 아이디들의 글만 검색되게 하기 채택완료
list.php에
if ($is_search_bbs) {
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_order} limit {$from_record}, $page_rows ";
부분을
$sql = " select * from {$write_table} where {$sql_search} and wr_is_comment = '0' order by mb_id having count(*) > '1' {$sql_order} limit {$from_record}, $page_rows ";
로 변경(추가) 했습니다.
distinct wr_parent 를 쓰니까 에러가 나서 * 과 wr_is_comment를 추가했고..
결과론적으로 2회이상 작성한 게시자들의 마지막글들 1개씩만 검색결과로 출력이 됩니다.
원하는 형태는 2번이상 작성한 아이디들의 마지막글이 아닌 전체글을 뽑고싶습니다.
sql은 잼병이라서 ㅜ.ㅜ 구글링을 통해 저기까진 진도를 나갔는데 힌트를 좀 주실수 있을가요
이게 안되면 글마다 작성 횟수값 다 업데이트치는방법밖에 안떠올라서 답답합니다.
답변 2개
2회 이상 글 작성자 id 추출 쿼리는,
</p>
<p>select mb_id</p>
<p> from [테이블]</p>
<p>where wr_is_comment = 0</p>
<p> group by mb_id</p>
<p> having count(*) > 1</p>
<p>
입니다. (order by ~ 는 정렬 순서를 정할 때 쓰이는 구문입니다.)
이를 활용한 수정 예시입니다.
</p>
<p>$sql_tmp = " and mb_id in (select mb_id from {$write_table} where wr_is_comment = 0 group by mb_id having count(*) > 1) ";</p>
<p>
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_tmp} {$sql_order} limit {$from_record}, $page_rows ";</p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인