• ベストアンサー

AccessのSQLで合計数をそれぞれカウントした

お世話になります。 Access2000で作成しております。 下記のテーブルでAccess2000のSQLを駆使して、 下記の結果を抽出したいと思っております。 やまだの成績=80の件数のみを抽出することはできたのですが、 80と60を同時に抽出する方法がわかりません。 お手数ですが教えていただければと思います。 --テーブル--- 名前   成績 やまだ  80 やまだ  80 たなか  80 やまだ  60 やまだ  80 ---結果※やまだのみ、各点数の件数----- 名前   80の件数 60の件数 やまだ 3  1

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

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

SQLビューに以下を記述してみます。 SELECT 名前, Sum(IIF(成績=80,1,0)) AS 80の件数, Sum(IIF(成績=60,1,0)) AS 60の件数 FROM テーブル GROUP BY 名前; 名前='やまだ' に限定するのであれば SELECT 名前, Sum(IIF(成績=80,1,0)) AS 80の件数, Sum(IIF(成績=60,1,0)) AS 60の件数 FROM テーブル WHERE 名前='やまだ' GROUP BY 名前; Sum(合計)を使って、成績 = ○○なら 1 でなければ 0 を IIF で判別すると件数に ※ 不都合あれば修正してください

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

80と60のルールが不明確。教科名があるならまだしも、MAXとMINでもなさそうですが、何? ピボットテーブルで、行見出しを[名前]、列見出しを[成績]にして「件数」をカウント。 「やまだ」に限定するなら、Where条件でよいかも。

kgyqk433
質問者

補足

お世話になります。 >80と60のルールが不明確。教科名があるならまだしも、MAXとMINでもなさそうですが、何? 文字列です。 >ピボットテーブルで、行見出しを[名前]、列見出しを[成績]にして「件数」をカウント。 >「やまだ」に限定するなら、Where条件でよいかも。 大変申し訳、ございません。本当に、ご存知でしたら、SQL文を教えて いただければ助かります。 よろしくお願いします。

関連するQ&A