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