【发布时间】:2017-01-21 14:13:52
【问题描述】:
所以我知道 MS-Access 不允许 SELECT COUNT(DISTINCT....) FROM ...,但我正在尝试找到一个更可行的替代通常标准的替代方法
SELECT COUNT(*) FROM (SELECT DISTINCT Name FROM table1)
我的问题是我正在尝试执行三个单独的 Count 函数并将它们按 ID 分组。如果我使用上面的方法,它会给我整个表的唯一值总数,而不是仅 ID 值的总数。我试过做
(SELECT COUNT(*) FROM (SELECT DISTINCT Name FROM table1 as T2
WHERE T2.ColumnA = T1.ColumnA)) As MyVal
FROM table1 as T1
但它告诉我需要为 T1.ColumnA 指定一个值。
我要完成的 SQL 查询是这样的:
SELECT ID
COUNT(DISTINCT ColumnA) as CA,
COUNT(DISTINCT ColumnB) as CB,
COUNT(DISTINCT ColumnC) as CC
FROM table1
GROUP BY ID
有什么想法吗?
【问题讨论】:
-
(SELECT COUNT(*) FROM (SELECT DISTINCT Name FROM table1 as T2 WHERE T2.ColumnA = T1.ColumnA)) As MyVal FROM table1 as T1通常不是有效的语法。不只是访问 -
我不知道你为什么说它无效。它在下面的答案中被引用...
-
它以
(开头 -
我明白你在说什么。这是查询中第三行的摘录,因此在它之前没有
SELECT或其他字段。对此造成的困惑,我深表歉意。 -
哦哦,明白了。我错过了
标签: sql ms-access count distinct