web-dev-qa-db-ja.com

Accessクエリのフィールドで一意のアイテムをカウントするにはどうすればよいですか?

マイテーブル:table1

ID名前ファミリー
 1 A AA 
 2 B BB 
 3 A AB 
 4 D DD 
 5 E EE 
 6 A交流

AccessのSQLコマンド:

select count(*) from table1

出力:------------> True
6行

私はユニークな名前を数えようとしました:

期待される出力: 4行

select count(distinct Name) from table1

アクセス時の出力:------------>エラー

クエリにどのような変更を加える必要がありますか?

24
user1526510

これを試して

SELECT Count(*) AS N
FROM
(SELECT DISTINCT Name FROM table1) AS T;

詳細については、 this を参照してください。

40
yogi

Access-Engineはサポートしていません

SELECT count(DISTINCT....) FROM ...

次のようにしなければなりません:

SELECT count(*) 
FROM
(SELECT DISTINCT Name FROM table1)

その少しの回避策... DISTINCT選択をカウントしています。

7
Jenson

私に使用する簡単なトリックは、find duplicatesクエリSQLを使用し、Having expressionで1から0に変更することです。このような:

SELECT COUNT([UniqueField]) AS DistinctCNT FROM
(
  SELECT First([FieldName]) AS [UniqueField]
  FROM TableName
  GROUP BY [FieldName]
  HAVING (((Count([FieldName]))>0))
);

これが役立つと思いますが、最善の方法ではなく、Accessにこれが組み込まれているはずです。

1
Johnothan Rears