게시물 2개이상 올린 아이디들의 글만 검색되게 하기

게시물 2개이상 올린 아이디들의 글만 검색되게 하기

QA

게시물 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 추출 쿼리는,


select mb_id
  from [테이블]
where wr_is_comment = 0
 group by mb_id
 having count(*) > 1

입니다. (order by ~ 는 정렬 순서를 정할 때 쓰이는 구문입니다.)

 

이를 활용한 수정 예시입니다.


$sql_tmp = " and mb_id in (select mb_id from {$write_table} where wr_is_comment = 0 group by mb_id having count(*) > 1) ";

$sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_tmp} {$sql_order} limit {$from_record}, $page_rows ";

한번더 in 으로 매칭을 생각을 못했는데...질문에 order by는 제 소스가 수정을 많이해놔서..그누 원본소스껄로 질문을 하려다보니...오타를 냈습니다.ㅜㅜ group by having으로 적용했던건데..답변부분 적용해서 읽어보니 명쾌해집니다. 너무 잘 작동합니다.^^; 감사합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 14
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT