嘿伙计们,我有以下要查询的示例数据。
MemberID AGEQ1 AGEQ2 AGEQ2
-----------------------------------------------------------------
1217 2 null null
58458 3 2 null
58459 null null null
58457 null 5 null
299576 6 5 7
我需要做的是查找表,如果任何 AGEx COLUMN 包含任何数据,那么它会计算每列中该行的数据的次数
结果示例:
对于 memberID 1217,计数为 1
对于 memberID 58458,计数为 2
对于 memberID 58459,计数将为 0 或 null
对于 memberID 58457,计数为 1
对于 memberID 299576,计数为 3
如果我查询整个表,这就是它在 SQL 中的样子
1 名儿童 - 2
2 名儿童 - 1
3 名儿童 - 1
0 名儿童 - 1
到目前为止,我一直在使用以下查询进行此操作,该查询效率不高,并且确实给出了不正确的计数,因为人们可以回答 AGE 问题的多种组合。此外,我必须编写多个查询并将 is null 更改为 not null,具体取决于我要计算一个人有多少孩子
select COUNT (*) as '1 Children' from Member
where AGEQ1 is not null
and AGEQ2 is null
and AGEQ3 is null
上面的查询只给了我 1 的答案,但我也希望能够计算其他列的数据
希望这很好,很清楚,提前谢谢你