販売したすべてのアイテムを保持するテーブルがあります。注文には複数のアイテムが含まれる場合があります。
注文に含まれる商品が 1 つだけの場合に、最も人気のある商品と色の組み合わせを見つけたいです。これを1つのMySQLステートメントで見つけることができるかどうか疑問に思っています(ネストされたSelectを使用している可能性があります)。これまでにいくつかのことを試しましたが、成功していません。
ProductName | Color | OrderNum |
--------------------------------
productA | black | 1
productA | black | 1
productA | black | 2
productA | black | 3
productA | black | 4
productA | black | 4
productA | black | 5
それで "
SELECT COUNT(ProductName), ProductName WHERE ~~COUNT(OrderNum)=1~~ GROUP BY ProductName, Color
次のように表示されます。
COUNT(ProductName) | ProductName | Color
3 | ProductA | black
実際、私は多数の製品と 50 以上の色を持っています。
私が試したこと:
SELECT COUNT(ProductName), ProductName,Color,
(SELECT COUNT(OrderNum) FROM Items GROUP BY OrderNum) AS itemcount
FROM Items WHERE 1
GROUP BY ProductName,Color HAVING itemcount = 1
SELECT COUNT( ProductName ) , ProductName, Color
FROM Items
WHERE (SELECT COUNT( OrderNum ) AS itemcounts
FROM Items GROUP BY OrderNum
) =1
GROUP BY ProductName
--「サブクエリは複数の行を返します」
ご協力いただきありがとうございます。