고객이 구매한 상위 10개 제품을 가져오기 위해 laravel/php에 SQL 쿼리를 작성하고 싶습니다.
내 테이블 구조는 다음과 같습니다.
주문
테이블(고객 ID, 제품 ID 등...)
제품
테이블(제품 ID, 제품 이름 등...)
내 쿼리 시도는 다음과 같습니다.
제품을 선택하세요.* 제품에서 WHERE products.id = [SELECT DISTINCT (products.id) 주문에서 WHERE customer.id=id->list(10)]
질문을 통해 귀하가 가고자 하는 방향을 알 수 있지만 안타깝게도 상위 10개 결과는 제공되지 않습니다. 대신 결과가 전혀 나오지 않을 수도 있습니다.
으아악=
은 정확히 일치하는 항목을 찾고 있으며 하위 쿼리가 10개의행데이터를 반환해야 함을 의미합니다. 이 작업을 사용하면 이 오류가 발생합니다.하지만
IN
로 변경하면 이런 오류가 발생할 수 있습니다현재 시도를 바탕으로 하나를 선택하는 것이 좋습니다
JOIN
. 그런데 어떻게 톱10에 들 수 있었는지 궁금하네요. 상위 10위 안에 드는 제품을 찾고 계신 것으로 보입니다. 하지만 무엇을 기준으로 하시나요? 판매량? 주문 수량?이러한 의미에서 주문 수량별로 정렬된 상위 10개 제품의 예는 다음과 같습니다.
으아악하위 쿼리는 꼭 필요한 것은 아니지만, 시도한 하위 쿼리를 흉내내고 있지만 프로세스가 완전히 동일하지는 않습니다. 하위 쿼리가 없는 버전은 다음과 같습니다.
으아악아니면 판매량 기준 상위 10위를 찾고 계시나요?
으아악데모 바이올린