mysql 중복된 값은 한번만 출력하기 채택완료
신비로움
9년 전
조회 23,277
검색창에 관한 테이블을 구축했습니다.
테이블 이름은 search 테이블이고 칼럼명은 auto 가 먹힌 index ,search_word,mb_id,divide, datetime 5개가 있습니다.
질문입니다. select 문을 사용해서 mb_id 값이 같은 것들을 시간순서대로 뽑아오는데 search_word를 중복없이 뽑아올려고 하고 있습니다.
SELECT DISTINCT search_word FROM g5_search WHERE mb_id = '$mb_id' ORDER BY datetime DESC
이 쿼리문을 사용하면 중복된 값이 있으면 전부 제거되어서 출력되어 버리는데 제가 원하는 쿼리문은 중복된 값은 처음 한번만 출력되게 하고 싶습니다. 방법이 있을까요?
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
9년 전
group by 로 바꿔보면 결과가 어떤가요?
SELECT search_word FROM g5_search WHERE mb_id = '$mb_id'
group by search_word ORDER BY datetime DESC
정확히 어떤 결과를 원하는지 이해가 잘 안되지만..
그룹으로 묶으면 search_word 는 동일한 키워드끼리 그룹으로 묶여서
한줄만 출력되고 시간은 datetime 이 높은 순으로 붙겠네요.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
신비로움
9년 전
이 쿼리문을 사용해봤는데 제가 원하는 결과는 아니였습니다 ㅠㅠ 제가 원하는 결과를 좀더 자세히 말씀드리면 만약 제가 검색창에 a, b, c, b, a, d 이런 식으로 6번 검색을 했다면 최신 순으로 a,b,c,d 이렇게 4개가 출력되는 쿼리문이 필요합니다. 중복값은 최초 한번이 필요하죠 ㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인