실시간 검색어 쿼리

실시간 검색어 쿼리

QA

실시간 검색어 쿼리

답변 3

본문

검색에 인기검색어는 붙여 놨는데,,, 실시간 검색어가 문제네요..

 

최근 입력된 10개를 중복 없이 가져오는 것인데, 10개안에 중복이 있으면, 최근것 하나만 출력하고

10개 외에 중복된 것이 있으면, 중복 처리 안하는 쿼리를 짜려니 힘드네요.. 이중 쿼리이어야 할것

같은데, 난이도가 높네요..

(최종 10개 안에 중복이 없으면 되는 룰..)

 

현재 적용한 쿼리는

SELECT DISTINCT pp_word, pp_id FROM {$g5['popular_table']} ORDER BY pp_id DESC  LIMIT 10

입니다.

 

이 질문에 댓글 쓰기 :

답변 3

SELECT DISTINCT pp_word FROM {$g5['popular_table']} ORDER BY pp_id DESC  LIMIT 10 

이렇게만 하면 되지 않나요?

pp_id를 빼면 order by pp_id를 했어도 id 정렬이 안되는 것 같고, 정렬은 둘째치더라도, 10개의 단어를 가져올때
전체 단어에서 중복이 있으면 빠져버리네요.. 왜 id 정렬이 안되는지..

자답입니다.

구글링으로 해결하게 되었습니다.

 

SELECT DISTINCT pp_word, MAX( pp_id ) FROM {$g5['popular_table']} GROUP BY pp_word ORDER BY MAX( pp_id ) DESC LIMIT 10

 

위와 같이 하니 원하는 결과대로 나오네요. 

 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 126,563
© SIRSOFT
현재 페이지 제일 처음으로