我的表:table1
ID Name Family 1 A AA 2 B BB 3 A AB 4 D DD 5 E EE 6 A AC
Access上的SQL命令:
select count(*) from table1
输出: ------------>真
6行
我试图统计唯一的名字:
预期输出: 4行
select count(distinct Name) from table1
访问输出: ------------>错误
我需要对查询进行哪些更改?
答案 0 :(得分:39)
答案 1 :(得分:7)
Access-Engine不支持
SELECT count(DISTINCT....) FROM ...
你必须这样做:
SELECT count(*)
FROM
(SELECT DISTINCT Name FROM table1)
它有点解决方法......你在计算DISTINCT的选择。
答案 2 :(得分:1)
我可以使用的一个快速技巧是使用查找重复查询SQL并在Haveing表达式中将1更改为0。像这样:
SELECT COUNT([UniqueField]) AS DistinctCNT FROM
(
SELECT First([FieldName]) AS [UniqueField]
FROM TableName
GROUP BY [FieldName]
HAVING (((Count([FieldName]))>0))
);
希望这会有所帮助,但不是我确定的最佳方法,Access应该已经内置了它。