<p>laravel/php で SQL クエリを作成して、顧客が購入した上位 10 種類の製品を取得したいと考えています。 </p>
<p>私のテーブル構造は次のとおりです:</p>
<li><code>注文</code>テーブル (顧客 ID、製品 ID など)</li>
<li><code>製品</code>テーブル (製品 ID、製品名など)</li>
</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 位を探しているのでしょうか?
リーリーデモフィドル