0

重複の可能性:
SQLクエリ最適化の推奨製品

これは、顧客の注文履歴テーブルに基づいて、「推奨」製品を取得するためのクエリです。

SELECT 
   A.id_product, COUNT( A.id_product ) AS num
FROM  
   orders A, orders B
WHERE 
   A.id_order = B.id_order
   AND B.id_product IN  (-**COMMA-SEPARETED-IDs**-)
   AND A.id_product NOT IN (-**COMMA-SEPARETED-IDs**-)
GROUP BY 
   A.id_product

これはテーブルの定義です。

ORDERS (id_order, id_product, quantity);

例:T1(1、1、2); T2(1、2、2); T3(1、3、2); T4(2、2、2); T5(2、1、2);

id_product(たとえば2)が与えられた場合、私がやりたいのは、注文の製品の1つが指定されたものである注文に存在するすべてのid_prodoctを取得することです。与えられた例を使用して、id_product = 2が注文1と注文2に存在するため、顧客に製品1と3を提案します。これらの注文の他の製品は3と1です。したがって、製品3と製品1を提案します。

私が探しているのは、最適化された最適なクエリを実現することです。私の貧弱な英語を許してください。

4

0 に答える 0