MySQL-如果没有,则返回空值
我在MySQL(只读权限数据库)中有以下模式 如您所见,只有5个国家/地区代码:MySQL-如果没有,则返回空值,mysql,sql,database,Mysql,Sql,Database,我在MySQL(只读权限数据库)中有以下模式 如您所见,只有5个国家/地区代码: GB, USA, GR, ES, DE 某些月份某些记录可能不包含其中一个国家/地区,因为该月份没有为此国家/地区创建任何记录 正如您在sqlfiddle中看到的,GB记录仅在9月份创建 如果一个国家在该月没有任何记录,有没有办法显示0或NULL或其他什么,而不是不返回 到目前为止,我已经尝试了ISNULL、IFNULL和COALESCE的不同变体,但都不起作用 我想返回如下内容 UK 0 USA 13 GR
GB, USA, GR, ES, DE
某些月份某些记录可能不包含其中一个国家/地区,因为该月份没有为此国家/地区创建任何记录
正如您在sqlfiddle中看到的,GB
记录仅在9月份创建
如果一个国家在该月没有任何记录,有没有办法显示0或NULL或其他什么,而不是不返回
到目前为止,我已经尝试了ISNULL
、IFNULL
和COALESCE
的不同变体,但都不起作用
我想返回如下内容
UK 0
USA 13
GR 5
ES 12
DE 1
有什么想法吗 您的小提琴链接未加载 但我想我的两个不同观点
希望它能起作用。好的,我将做一些假设来代替函数式SQLFIDLE。国家代码与分组数据位于同一个表中 如果是这样,为什么不使用:
select DT1.CountryCode, count(DT2.ValueForCounting) as ReturnedCount
from (
select distinct CountryCode
from DataTable ) DT1
left join DataTable DT2
on DT1.CountryCode = DT2.CountryCode
and DT2.QueryConditions = 'Stuff' -- Use the join condition instead of a where clause for anything to do with DT2
Fiddle未加载…如果($count==“”| |$count==0){echo”“;}您可能希望
选择。。。来自国家/地区的代码在…上留下连接记录。。。其中…
,甚至包括记录为0的国家/地区。只是猜测,因为您的SQL FIDLE不会加载:-(例如,请参见Fiddle现在应该加载。我尝试了它,但如果我添加where子句来限制前一个月的结果,它仍然显示得较少。)countries@Sonamor您不使用,其中
通过此方法,您可以将其应用于连接条件我不知道您可以在连接语句中添加条件