我有以下查询:
SELECT count(Committees)
FROM [Annual Questionnaire]
WHERE Committees=TRUE;
但是,我想在结果中包含其他列,例如保险,平等并计算价值为真的地方,例如保险=真。并非表中的所有列都必须计算在内。
我认为伪查询是:
SELECT count(Committees),
count(Insurance)
FROM [Annual Questionnaire]
WHERE Committees=TRUE
AND Insurance=TRUE;
^这不起作用,因为它选择只有委员会和保险为真的行
基本上,如何计算值为True的指定列?
答案 0 :(得分:3)
SELECT
SUM(IIF(Committees=True, 1, 0))
, SUM(IIF(Insurance=True, 1, 0))
FROM [Annual Questionnaire]
答案 1 :(得分:1)
如果在WHERE子句中同时指定它们,则只返回两个列为true的行。 请记住,执行顺序是在Select之前执行的Where子句,因此它将根据您拥有的内容过滤掉数据,然后选择您要求它选择的任何内容。
这是执行的顺序:
FROM clause
WHERE clause
GROUP BY clause
HAVING clause
SELECT clause
ORDER BY clause