十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
select中的IF函数是if(A=B,0,other)IF语句ifa=bthen0else1endif
你可以这样理解,mysql的执行顺序是from->where->select经过where过滤之后才select来显示相应字段,如果where过滤完之后都没记录了,那select也就为null。(要想val为null就返回为0,除val字段外其余字段必须有一个不为null)如果空表你也要返回0,可以在外面多嵌套一层selectifnull(m.num,0)asnumfrom(selectIFNULL(val,0)ASnumfromt_typewheretype="1")m