I have table with data like this in Access:
x
attr1 attr2 attr3
A 1 Yes
B 8 Yes
B 6 No
C 4 No
D 5 Yes
D 2 Yes
I need result grouped by attr1, count attr2 and count attr3 only if value is “Yes”:
attr1 attr2 attr3
A 1 1
B 2 1
C 1 0
D 2 2
I would appreciate any help with sql. Thank you very much in advance.
Advertisement
Answer
The expression for the third column is the challenge here.
Consider an IIf
expression: IIf(m.attr3='Yes', 1, 0)
That expression will return 1 when the field contains ‘Yes’, and 0 otherwise.
So use that expression in a Sum()
function in your query. This query returns what you requested from your sample data.
SELECT
m.attr1,
Count(m.attr2) AS CountOfattr2,
Sum(IIf(m.attr3='Yes', 1, 0)) AS SumOfYes
FROM tblMario AS m
GROUP BY m.attr1;