在使用count()和组时,我如何包括零计数,因为计数忽略了mySQL中的nulls



MySQL使用所谓的COUNT函数时无法计算null值。

例如,我们有一个简单的表:

supplier_id   supplier_name state
1             IBM           CA
2             Microsoft   
3             NVIDIA     

此查询:

SELECT 
  state
, COUNT(state) 
FROM atable
GROUP BY state
;

将返回

CA    1

我如何修改它以向我展示表的真实本质,即

CA    1
NULL  2

只需使用 count(*)用nulls计数行。

SELECT state, count(*) FROM atable GROUP BY state;

count(*)count(state)之间的区别在于以前不计算null值。您可能会在文档中找到详细信息和示例。

使用cocece:

SELECT ...., COUNT (COALESCE (state, 'unknown')) ....

相关内容

  • 没有找到相关文章

最新更新