Microsoft Access クエリの一意の値をカウントする方法
質問:
重複値を含むテーブルに対して count(*)
を含む SQL クエリを実行すると、結果の合計行数が不正確にカウントされます。特定のフィールド (「名前」フィールドなど) の一意の値のみをカウントするようにクエリを変更するにはどうすればよいですか?
例:
次のデータを含むテーブル "table1" について考えます:
<code>ID 姓名 家庭 1 A AA 2 B BB 3 A AB 4 D DD 5 E EE 6 A AC</code>
質問:
Query select count(*) from table1
は、[名前] フィールドに一意の名前が 4 つしかないにもかかわらず、6 を返します。
解決策:
「名前」フィールドの一意の値のみをカウントするには、次の変更されたクエリを使用できます:
<code class="language-sql">SELECT Count(*) AS N FROM (SELECT DISTINCT Name FROM table1) AS T;</code>
このクエリは、「名前」フィールドの一意の値を選択し、それらを「T」という名前の一時テーブルに保存するサブクエリを作成することから始まります。次に、外側のクエリはサブクエリ内の行数をカウントします。これは、[名前] フィールドの一意の名前の数を表します。
手順:
DISTINCT
キーワードにより、一意の値のみがサブクエリに含まれるようになります。サブクエリは、一意の値を含む列「name」を 1 つだけ含む新しいテーブルを作成します。次に、外側のクエリは、この新しいテーブル内の行をカウントして、[名前] フィールドの一意の項目の数を正確に数えます。
詳細情報:
Access クエリでの DISTINCT
キーワードの使用の詳細については、Microsoft のドキュメントを参照してください。
以上がMicrosoft Access クエリ フィールドの一意の値を数える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。