중복되는 것들만 모두 나오게 하게

중복되는 것들만 모두 나오게 하게

QA

중복되는 것들만 모두 나오게 하게

본문

제가 지금 하려는 거는 it_model 값이 중복으로 있는 것들만 모두 출력하려고 합니다.

 

그래서 


select *,  COUNT(*) AS nums
           $sql_common
           and it_model !='' GROUP BY it_model HAVING nums > 1
           $sql_order
           limit $from_record, $rows 

이렇게 했더니 중복되는 애들 중에 하나만 나옵니다.

 

어떻게 바꾸면

it_model 값이 중복되는 애들이 모~두 나올까요?

 

이 질문에 댓글 쓰기 :

답변 1

select * from $sql_common

and it_model in (

    select it_model 

    from $sql_common

    and it_model <> ''

    group by it_model

    having count(it_model) > 1

)

$sql_order

limit $from_record, $rows

 

-----------

 위와같이 변경해서 한번 실행해보시죠

    



제가 만들어드린 쿼리가 정상적으로 작동하는데요
참고로.. group by 에 * 하면 나오는게 제한됩니다.
서브쿼리로 풀어야 정상입니다.


SELECT * FROM g5_shop_item
where it_model IN (select it_model
        from  g5_shop_item
        where it_model !=''
  GROUP BY it_model
  HAVING COUNT(*) > 1
        )
order by it_id desc

이걸로 한번 확인해보세요

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

회원로그인

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