• ベストアンサー

ACCESS クエリで、グループ化したものをカウントしたい

SQLでなくクエリで、グループ化したものをカウントしたいのですが、クエリを2個作ればよいのはわかるのですが、これを1つのクエリで作るのは可能でしょうか? 現状: クエリ1 グループ化 クエリ2 クエリ1の結果をカウント あまりにクエリを作り過ぎる為、今後の向上の為にと思い、質問します。 よろしくお願いします。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

>>Sum(1/DCount("*","テーブル名","グループ='" & [グループ] & "'")) >が理解できませんでした。(再現もできませんでした) 質問にテーブルの情報がなかったのでこのように書きました グループとは質問の1段目のクエリでグループに指定したフィールドの名前です グループAが3レコード、Bが2レコードあれば 1/3+1/3+1/3+1/2+1/2=2 という結果が得られます

PearlJam69
質問者

お礼

ありがとうございました! 再現できました! >Sum(1/DCount(・・・ すごいアイデアですね。 これは思いつかないです・・・。 精進したいと思います。

その他の回答 (2)

noname#60992
noname#60992
回答No.2

クエリはGUIでSQLを発行するものです。 クエリを開いて、「表示」→「SQLビュー」 にしてみてください。 [ ]が多かったりして、かなり読みにくいですが 発行しているSQL文を見ることができます。 ここでSQL文を編集することもできます。

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

>SQLでなくクエリで、 SQLもクエリも同じものですよ クエリデザインビューで作りたいということでしょうか テーブルの詳細が分かりませんが、式フィールドだけのクエリを作ればいいかな Sum(1/DCount("*","テーブル名","グループ='" & [グループ] & "'")) でもSQLを使うか、クエリを2段に使うほうが一般的だしスマートですよ

PearlJam69
質問者

お礼

ありがとうございます。 >クエリデザインビューで作りたいということでしょうか そうです。だた、いちいちクエリに名前を付けなくてはならないのが、効率的でないように感じたんです。SQLでサブクエリで書いてもよいのですが、後から第三者が見て分かり易いものにしたい、という思いもあります。 事前にテーブルの詳細を書かなかったのですが、ご回答いただいた、 >Sum(1/DCount("*","テーブル名","グループ='" & [グループ] & "'")) が理解できませんでした。(再現もできませんでした)よって >クエリを2段に使うほうが一般的だしスマートですよ ということですので、そうしたいと思います。

関連するQ&A