リクエストは複数のアイテムに対して行うことができ、唯一のキーはサロゲート request_id です
9桁の電話番号の結果セットを返す次のクエリがあります
SELECT phone_number FROM purchases
WHERE item_type = 'popcorn'
GROUP BY phone_number;
次に、「ポップコーン」ではなく、次にそれであるDISTINCT
item_type
各リクエストのリストを取得したいと思います。IE 顧客が購入する傾向にある類似商品を知りたい。phone_number
GROUP BY
item_type
目的の結果セットは次のようになります
item COUNT(*)
pretzels 200
chips 150
crackers 125
… …
この場合、phone_number
ポップコーンとプレッツェルを購入した人の数は 200 人でした (この値に興味があります)。ポップコーンを購入した人によるプレッツェルの合計購入数は 1,000 でしたが、これは私が興味を持っている値ではありません。
item_type
のみを指定して、顧客が購入したアイテムを示す上記のような結果を取得する単一のクエリを作成するにはどうすればよいですか?
また、誰かが私を助けてくれるなら、もっとわかりやすいタイトルを付けていただければ幸いです。
編集
ここにテーブルがあります
CREATE TABLE purchases(
request_id BIGINT NOT NULL auto_increment,
phone_number INT(9) NOT NULL,
item_type VARCHAR(256) NOT NULL,
PRIMARY KEY(request_id)
);
編集
このデータhttp://www.sqlfiddle.com/#!2/23236/2に基づく望ましい出力のリクエスト
item COUNT(*)
cc 1
notpopcorn 1