在 MySQL 中,获取接受 3 次 ANC 检查的孕妇人数
In MySQL, get number of pregnant women who received 3 ANC checkups
我正在做一个项目,需要找出已经完成 3 次 ANC(产前护理)检查的孕妇总数。
如果 4 列(visit1_date、visit2_date、visit3_date 和 visit4_date)中的任何 3 列具有一定价值,则称一位孕妇接受了 3 次 ANC 检查.
为此,我需要计算 table 中给出的 4 列中的任意 3 列不为空的行数。
所以,基本上,需要的是找到所有行的计数,其中任意三个
visit1_date、visit2_date、visit3_date、visit4_date 不为空
我的 table 每个访问日期都有单独的列
我试过使用 IFNULL,但我不知道这是否有帮助。
在MySQL中,布尔运算被视为数字上下文中的数字,1 表示真,0 表示假。这使得计算非 NULL 值的数量变得容易:
select count(*)
from table t
where ((visit1_date is not null) +
(visit2_date is not null) +
(visit3_date is not null) +
(visit4_date is not null)
) >= 3;
我正在做一个项目,需要找出已经完成 3 次 ANC(产前护理)检查的孕妇总数。
如果 4 列(visit1_date、visit2_date、visit3_date 和 visit4_date)中的任何 3 列具有一定价值,则称一位孕妇接受了 3 次 ANC 检查.
为此,我需要计算 table 中给出的 4 列中的任意 3 列不为空的行数。
所以,基本上,需要的是找到所有行的计数,其中任意三个
visit1_date、visit2_date、visit3_date、visit4_date 不为空
我的 table 每个访问日期都有单独的列
我试过使用 IFNULL,但我不知道这是否有帮助。
在MySQL中,布尔运算被视为数字上下文中的数字,1 表示真,0 表示假。这使得计算非 NULL 值的数量变得容易:
select count(*)
from table t
where ((visit1_date is not null) +
(visit2_date is not null) +
(visit3_date is not null) +
(visit4_date is not null)
) >= 3;