假设我有桌子
NAME | ID | REF
foo1 | 1 | NULL
foo2 | 2 | 1234
foo2 | 3 | 567
foo1 | 4 | NULL
foo3 | 5 | 89
我想在一个查询中计算 NULL 和 NOT NULL 的所有实例,这样我就可以说
NAME | null | not null
foo1 | 0 | 2
foo2 | 2 | 0
foo3 | 0 | 1
我可以运行这两个查询
select NAME,count(*) from TABLE where REF is not null
select NAME,count(*) from TABLE where REF is null
但我确信一定有一种简单的方法可以在一个 mysql 查询中做到这一点。
您可以像这样在 ISNULL() 上使用 SUM()
select NAME, sum(isnull(REF)) as is_null, sum(not isnull(REF)) as is_not_null from TABLE group by NAME;
SUM(1) 相当于 COUNT(*),因此它确实会进行计数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)