我使用Microsoft Access查询名为" AllData"的表。其中包含一列"性别"。
性别列的数据类型为数字,此列中的数字为1(男性),2(女性),3(其他)或null。
我想算一下有多少男性。我尝试使用上一个问题Is it possible to specify a condition in Count()的答案。这是我使用最佳答案信息的最佳尝试:
SELECT
COUNT(CASE gender WHEN 1 THEN 1 ELSE NULL END)
FROM AllData;
但是当我运行此查询时,我收到一条错误消息"查询表达式中的语法错误(缺少运算符)&COTS(CASE gender WHEN 1 THEN 1 ELSE NULL END)'。我是SQL的新手,所以我无法弄清楚该行的哪一部分可能导致问题。
答案 0 :(得分:2)
以下内容适用于任何数据库:
SELECT COUNT(*)
FROM AllData
WHERE gender = 1;
如果你想要所有性别:
SELECT gender, COUNT(*)
FROM AllData
GROUP BY gender;
MS Access不支持CASE
表达式。