Sql Microsoft Access计数,如果
我有一个access表,其中有几列是从ms access表单填充的 我需要计算值为Y或N而不是NA的每列的总数 这是我的问题Sql Microsoft Access计数,如果,sql,ms-access,Sql,Ms Access,我有一个access表,其中有几列是从ms access表单填充的 我需要计算值为Y或N而不是NA的每列的总数 这是我的问题 SELECT Count(tableName.[ColumnName] ='y' ) AS MyTotal FROM tableName; 查询返回的是行的总数,而不仅仅是其中包含Y的行 有人能看出我做错了什么吗 提前感谢您将您的WHERE子句标准放错了位置。实际上,您需要列的计数,其中列等于某个值 试试这个: SELECT Count(YourColumn) AS
SELECT
Count(tableName.[ColumnName] ='y' ) AS MyTotal
FROM tableName;
查询返回的是行的总数,而不仅仅是其中包含Y的行
有人能看出我做错了什么吗
提前感谢您将您的
WHERE
子句标准放错了位置。实际上,您需要列的计数,其中
列等于某个值
试试这个:
SELECT Count(YourColumn) AS MyTotal
FROM YourTable
WHERE YourColumn='y'
我想如果你在寻找另一个解决方案,这也应该有效
SELECT SUM(IIf(YourColumn = 'y', 1, 0)) AS MyTotal
FROM YourTable
IIf
所做的是,它为列等于“y”的每个记录提供值1,并为不符合该标准的列提供值0。然后,为了复制COUNT
功能,我们只需将它们相加。您将WHERE
子句标准放在了错误的位置。实际上,您需要列的计数,其中
列等于某个值
试试这个:
SELECT Count(YourColumn) AS MyTotal
FROM YourTable
WHERE YourColumn='y'
我想如果你在寻找另一个解决方案,这也应该有效
SELECT SUM(IIf(YourColumn = 'y', 1, 0)) AS MyTotal
FROM YourTable
IIf
所做的是,它为列等于“y”的每个记录提供值1,并为不符合该标准的列提供值0。然后要复制COUNT
功能,我们只需将它们相加。@scragar Access不支持CASE语句。您的解决方案不正确。@scragar Access不支持CASE语句。您的解决方案不正确。