MYSQL

해당 상품과 함께 많이 구매한(조회한) 상품

오라클

1)

""이 책을 본.. 다른 사람이 가장 많이 본 다른 책...상위 베스트 10.""

 

  select top 10 책

   from  구독테이블
 where 본사람  in ( select 본사람
      from  구독테이블
     where 책 = '이책' )
group by 책
order by count(*) desc

 

2)

"" 어떤 상품이 있는데..

이 상품을 산 구매자들이 구매한 다른 상품들 중 가장 구매가 많았던 상위 10가지를 추출하고 싶거던요..""

 

select top 10 상품

  from 구매테이블
 where 구매자 in ( select 구매자
       from 구매테이블
      where 상품 = '어떤상품' )
group by 상품
order by count(*) desc

 

1,2번의 방식은 똑 같습니다......

 

출처 www.sqler.com/board_SQLQA/379855

 

개발자 커뮤니티 SQLER.com - 쿼리문 질문있습니다.

제가 구현을 하고 싶은게.. 왜 그런거 있잖아요.. ""이 책을 본.. 다른 사람이 가장 많이 본 다른 책...상위 베스트 10."" "" 어떤 상품이 있는데.. 이 상품을 산 구매자들이 구매한 다른 상품들 중 가

www.sqler.com

 

 

mysql 식

select 상품PK, COUNT(상품PK) AS cnt
  from 결제 상품 정보
 where 구매자pk in ( select 구매자pk
       from 결제 상품 정보
      where 상품PK = '해당 상품PK' ) AND 상품PK != '해당 상품PK'
group by 상품PK

HAVING count(*) > 1

order by cnt DESC
LIMIT 10

 

 

그누보드인 경우

 sql = " select it_id, count(*) as cnt from {$g5['g5_shop_cart_table']} where mb_id in ( select mb_id from {$g5['g5_shop_cart_table']} where it_id = '{$it['it_id']}' ) group by it_id HAVING count(*) > 1 order by count(*) desc LIMIT 10";

 

728x90
반응형