안녕하세요. 방금 가입한 새내기입니다.
sql을 하나 작성해야하는데 어려움을 겪고 있어 도움을 청하고자 합니다.
상품조회 테이블에 상품id와 조회한 id 두개가 있습니다.
각 상품별로 해당상품을 조회한 사람들이 가장 많이 조회한 상품 10개를 출력하고 싶습니다.
예를 들어 핸드폰이란 상품을 본 사람이 10명이라면 10명이 조회한 모든 상품중에 가장 많이 조회한 10개를 출력하는 겁니다.
현재 구현은 서브 쿼리를 통해 exists 로 조회조건에 상품id를 주어 구현했는데 단점은 단건 처리만 가능하며 전건을 처리하려고 프로시져에서 loop를 사용하였더니 처리시간이 무지막지하게 늘어나 문제가 있습니다.
파라미터를 안주고 일괄로 가능한지 여쭙고 싶습니다.
감사합니다
Comment 1
-
항해자™
2016.10.15 10:15
cross apply 혹은 ourer apply 를 활용하면 쉽게 구할 수 있습니다,,,