Don*_*ant 28 mysql null max zero
我想了解如何在MAX函数为NULL时设置属性的0值.例如:
Name columns:
number - date
Values:
10 - 2012-04-04
11 - 2012-04-04
12 - 2012-04-04
13 - 2012-04-15
14 - 2012-06-21
 1 - 2013-07-04
Run Code Online (Sandbox Code Playgroud)
数字是增量字段,但是在新的一年到来时它已经设置为1.但结果是:
SELECT (MAX(number)+1) number WHERE date LIKE "2014%" 
Run Code Online (Sandbox Code Playgroud)
为NULL而不是1,因为MAX(数字)为NULL而不是0
Nan*_*nne 44
好吧,因为没有像2014年那样的日期,你会期望为null,因为没有任何东西实际上并不是任何东西.
但这样做:
COALESCE(MAX(number),0)
Run Code Online (Sandbox Code Playgroud)
这意味着:从下一个列表中获取第一个非null的东西,所以如果你max是null,它会给你0
Dem*_*a ツ 20
COALESCE有效,但IFNULL对我来说更清晰.
IFNULL(MAX(number), 0)
Run Code Online (Sandbox Code Playgroud)
如果第一个表达式不是NULL,则IFNULL()返回表达式本身,否则返回第二个参数.IFNULL()返回一个数值或字符串值,具体取决于使用它的上下文.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           21999 次  |  
        
|   最近记录:  |