Sql access中需要计数查询,但一列只需要唯一值
我有一个像这样的“tblBaseResults”表设置 第1列=名称 第2列=活动 活动列应该是唯一的。但是,有多个名称字段。因此,我不知道如何将Activity列设置为唯一值,并仅保留Name中的一个值。 我更愿意只保留name中没有任何“?”字符的值 我当前的计数查询非常有效。但是,我只需要一个名称字段就可以继续使用它Sql access中需要计数查询,但一列只需要唯一值,sql,ms-access,Sql,Ms Access,我有一个像这样的“tblBaseResults”表设置 第1列=名称 第2列=活动 活动列应该是唯一的。但是,有多个名称字段。因此,我不知道如何将Activity列设置为唯一值,并仅保留Name中的一个值。 我更愿意只保留name中没有任何“?”字符的值 我当前的计数查询非常有效。但是,我只需要一个名称字段就可以继续使用它 SELECT tblBaseResults.Activity, Count(tblBaseResults.Activity) AS CountOfActivity INTO
SELECT tblBaseResults.Activity, Count(tblBaseResults.Activity) AS CountOfActivity INTO tblCountResults
FROM tblBaseResults
GROUP BY DISTINCT tblBaseResults.Activity;
在Excel中,如果我执行VLookup,我会得到我需要的,但希望在access中执行。我会收到错误“INSERT INTO语句(min(name))中没有目标字段名”,然后命名要插入的列。你不想把名字也插进去吗?目标表的结构是什么?我创建了一个新表。3列。1=活动,2=名称,3=活动计数。尽管我更新了我的查询,但仍然会出现错误。但事实上,它以前应该是有效的。对不起,还有一件事。我不知道这是否可能,但名称值包括英语和其他外语。有没有可能把英语作为第一要务,如果没有英语的话,那么就把外语作为第一要务?我知道这可能要求太高了
INSERT INTO tblCountResults (Activity, Name, CountOfActivity)
SELECT Activity, min(Name), Count(tblBaseResults.Activity)
FROM tblBaseResults
WHERE instr(Name, '?') = 0
GROUP BY Activity