MySQL Left JOIN时指定NULL列返回特定值详解

 更新时间:2013年07月02日 11:37:34   作者:  
我们有时会有这样的应用,需要在sql的left join时,需要使值为NULL的列不返回NULL而时某个特定的值,比如0。这个时候,用is_null(field,0)是行不通的,会报错的,可以用ifnull实现,但是COALESE似乎更符合标准

coalesce 函数可以接受多个参数,将会返回这些参数中第一个非NULL的值,若提供的参数全部为NULL,则返回NULL
ifnull 函数和coalesce功能一样,只是只可以接受两个参数
if  函数接受三个参数,实现类似于三元判断符(?:)的功能,即第一个参数不为NULL且不为0时,返回第二个参数,否则返回第三个参数

复制代码 代码如下:

SELECT a.*,coalesce(t.cous,0) as count FROM brand as a
left join (select brandid as bid,count(1) as cous from shopbrand group by brandid) t on a.brandid=t.bid
ORDER BY count DESC LIMIT 0,20

上述语法是做一个统计,本身会返回NULL,但是为空的话并不是一个好的做法,所以用coalesce来解决

 

相关文章

  • MySQL查看和修改字符编码的实现方法

    MySQL查看和修改字符编码的实现方法

    下面小编就为大家带来一篇MySQL查看和修改字符编码的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • Linux7操作系统中如何安装MySQL5.6

    Linux7操作系统中如何安装MySQL5.6

    这篇文章主要介绍了Linux7操作系统中如何安装MySQL5.6问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • MySQL Delete 删数据后磁盘空间未释放的原因

    MySQL Delete 删数据后磁盘空间未释放的原因

    这篇文章主要介绍了MySQL Delete 删数据后磁盘空间未释放的原因,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-05-05
  • MySQL外键创建失败1005原因汇总

    MySQL外键创建失败1005原因汇总

    MySQL外键创建失败1005原因有很多,本文整理了一些,希望对大家有所帮助
    2014-01-01
  • 一文详解MySQL text能存多少个字符

    一文详解MySQL text能存多少个字符

    在我们使用mysql的时候,对字段的选用以及具体使用什么类型会很有疑问,下面这篇文章主要给大家介绍了关于MySQL text能存多少个字符的相关资料,需要的朋友可以参考下
    2023-01-01
  • MySQL数据类型之浅谈字符串(string)

    MySQL数据类型之浅谈字符串(string)

    这篇文章主要介绍了MySQL数据类型之字符串(string)的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • mysql count 为null时,显示0的问题

    mysql count 为null时,显示0的问题

    这篇文章主要介绍了mysql count 为null时,显示0的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • MySQL的事务特性概念梳理总结

    MySQL的事务特性概念梳理总结

    这篇文章主要介绍了MySQL的事务特性概念梳理总结,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • Windows平台下MySQL安装与配置方法与注意事项

    Windows平台下MySQL安装与配置方法与注意事项

    这篇文章主要介绍了Windows平台下MySQL安装与配置方法与注意事项,需要的朋友可以参考下
    2017-04-04
  • MySQL 数据类型 详解

    MySQL 数据类型 详解

    MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有正负之分或者用零填补。
    2009-10-10

最新评论