- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:1つのSQLで2段階の抽出を行いたい)
1つのSQLで2段階の抽出を行いたい
このQ&Aのポイント
- 1つのSQLで2段階の抽出を行いたい。商品IDごとに最大の単価を持つレコードを取得し、その後数量ごとにグループ化して件数をカウントする方法を教えてください。
- MySQL5を使用しています。テーブル名は「売上げ明細」で、カラムは「商品ID」、「単価」、「数量」です。商品IDごとに単価が最大のレコードを抽出し、その後数量ごとにグループ化して件数をカウントしたいです。
- 求めたい結果を得るためのSQL文を1つの文で記述したいです。具体的には、商品IDごとに最大の単価を持つレコードを取得し、その後数量ごとにグループ化して件数をカウントしたいです。MySQL5を使用しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
SELECT `数量` ,COUNT(`商品ID`) FROM `売上げ明細` WHERE (`商品ID`, `単価`) IN (SELECT `商品ID`, MAX(`単価`) FROM `売上げ明細` GROUP BY `商品ID`) GROUP BY `数量`
お礼
迅速なご回答ありがとうございます。 おかげさまで期待通りのデータが得られました。 (-人-)ありがたや~