• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:1つのSQLで2段階の抽出を行いたい)

1つのSQLで2段階の抽出を行いたい

このQ&Aのポイント
  • 1つのSQLで2段階の抽出を行いたい。商品IDごとに最大の単価を持つレコードを取得し、その後数量ごとにグループ化して件数をカウントする方法を教えてください。
  • MySQL5を使用しています。テーブル名は「売上げ明細」で、カラムは「商品ID」、「単価」、「数量」です。商品IDごとに単価が最大のレコードを抽出し、その後数量ごとにグループ化して件数をカウントしたいです。
  • 求めたい結果を得るためのSQL文を1つの文で記述したいです。具体的には、商品IDごとに最大の単価を持つレコードを取得し、その後数量ごとにグループ化して件数をカウントしたいです。MySQL5を使用しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.1

SELECT `数量` ,COUNT(`商品ID`) FROM `売上げ明細` WHERE (`商品ID`, `単価`) IN (SELECT `商品ID`, MAX(`単価`) FROM `売上げ明細` GROUP BY `商品ID`) GROUP BY `数量`

otyonan
質問者

お礼

迅速なご回答ありがとうございます。 おかげさまで期待通りのデータが得られました。 (-人-)ありがたや~

関連するQ&A