IF表达式
IF(expr1,expr2,expr3)
如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。
count函数与if结合使用
统计订单表中字段不同值的进行统计,通过IF(字段=* (and 其他条件) )
SELECT
COUNT(IF(order
.pay_flag = 1 AND order
.state=0,TRUE,NULL)) AS readyToPayNum,
COUNT(IF(order
.pay_flag = 0 AND order
.state=0,TRUE,NULL)) AS payedNum
COUNT(IF(order
.state=0,TRUE,NULL)) AS allOrderNum
FROM
order