我有一个访问表,其中包含从ms访问表单填充的多个列.
我需要计算值为Y或N而不是NA的每列的总数
这是我的查询
SELECT
Count(tableName.[ColumnName] ='y' ) AS MyTotal
FROM tableName;
Run Code Online (Sandbox Code Playgroud)
查询返回的总行数不仅仅是带有Y的行.
任何人都可以看到我做错了什么
提前致谢
你的WHERE
条款标准是错误的.真的,你想要一个COUNT
列,WHERE
列等于某个值.
试试这个:
SELECT Count(YourColumn) AS MyTotal
FROM YourTable
WHERE YourColumn='y'
Run Code Online (Sandbox Code Playgroud)
我想如果你正在寻找另一个解决方案,这也应该有效.
SELECT SUM(IIf(YourColumn = 'y', 1, 0)) AS MyTotal
FROM YourTable
Run Code Online (Sandbox Code Playgroud)
IIf
它的作用是为列的每个记录等于'y'赋值为1,为不符合该条件的列赋值为0.然后为了复制COUNT
功能,我们简单地完成SUM
它们.