1.根据条件统计数量
COUNT(if(o.order_status='1',true,NULL)) as '成功数量',COUNT(if(o.order_status='2',TRUE,NULL)) as '失败数量'
SUM(if(o.order_status='1',1,0)) as '成功数量',SUM(if(o.order_status='2',1,0)) as '失败数量'
2.排除非必须数据
channel.channel_code NOT IN ('B78ECF00F2FF47CCAAF0F66C5D8695F1','150710141607BC798719')
3.时间
SELECT TIMESTAMPDIFF(DAY,'2016-11-17','2016-11-27');//两个时间差
SELECT date_sub('2016-11-17',interval TIMESTAMPDIFF(DAY,'2016-11-17','2016-11-27') day);//根据时间差推算指定时间的前日期
3.修改mysql查询结果类型
CONVERT(123,char),CAST(123 AS CHAR)
可装换的类型:
- 二进制,同带binary前缀的效果 : BINARY
- 字符型,可带参数 : CHAR()
- 日期 : DATE
- 时间: TIME
- 日期时间型 : DATETIME
- 浮点数 : DECIMAL
- 整数 : SIGNED
- 无符号整数 : UNSIGNED