带有 WHERE 子句的 MySQL SELECT 不包括数量为 '0' 的结果

标签 mysql sql select where-clause

我正在尝试创建一个选择存储过程来返回一个值的不同实例计数。然而,如果不存在不同的实例,它应该返回 0。下面的查询几乎完成了我需要的一切

SELECT br.barangay,COUNT(DISTINCT cr.cr_patient_no) as `amount`
FROM barangay as br LEFT JOIN case_report_main as cr  on cr.cr_barangay = br.barangay
GROUP BY br.barangay 
ORDER BY br.barangay  ASC

此代码返回包含位置名称的“barangay”列和“计数”列。但是,我还需要能够使用 WHERE 子句搜索它们。

WHERE cr.cr_date_onset BETWEEN '2010-01-01' AND '2014-12-12'

我需要一个包含 0 金额的结果,如下所示:

'NAME1'|'1'
'NAME2'|'0'
'NAME3'|'4'
'NAME4'|'0'

但是当我添加 WHERE 子句时,它会删除所有金额为 0 的结果。

'NAME1'|'1'
'NAME3'|'4'

有人可以为此提供解决方案吗?

最佳答案

将其放入您的 WHERE 子句中:

cr.cr_date_onset IS NULL OR cr.cr_date_onset BETWEEN '2010-01-01' AND '2014-12-12'

关于带有 WHERE 子句的 MySQL SELECT 不包括数量为 '0' 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15038447/

相关文章:

php - PostgreSQL 错误 : date/time field value out of range

mysql - 为什么这个查询没有抓取正确的记录?

sql - 运行具有相互依赖性的 sql 脚本

mysql - 选择在过去 'x' 天内从类别 'y' 购买商品 'z' 次的所有客户

php - 使用 PHP 和 mySql 从下拉菜单中选择选项

mysql - 如何使用 null||d.AM_Answer 进行选择查询

PHP 对来自 Aurora MySQL 的 JSON 编码数据失败

sql - 在表上创建索引

SQL 树向下遍历到根并备份一个

mysql - 内联注释如何绕过 SQL 注入(inject) Web 应用程序防火墙?