- ベストアンサー
AccessのSQLで合計数をそれぞれカウントした
お世話になります。 Access2000で作成しております。 下記のテーブルでAccess2000のSQLを駆使して、 下記の結果を抽出したいと思っております。 やまだの成績=80の件数のみを抽出することはできたのですが、 80と60を同時に抽出する方法がわかりません。 お手数ですが教えていただければと思います。 --テーブル--- 名前 成績 やまだ 80 やまだ 80 たなか 80 やまだ 60 やまだ 80 ---結果※やまだのみ、各点数の件数----- 名前 80の件数 60の件数 やまだ 3 1
- みんなの回答 (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条件でよいかも。
補足
お世話になります。 >80と60のルールが不明確。教科名があるならまだしも、MAXとMINでもなさそうですが、何? 文字列です。 >ピボットテーブルで、行見出しを[名前]、列見出しを[成績]にして「件数」をカウント。 >「やまだ」に限定するなら、Where条件でよいかも。 大変申し訳、ございません。本当に、ご存知でしたら、SQL文を教えて いただければ助かります。 よろしくお願いします。