MySql 在大数量的统计中具体的使用技巧

一、CASE WHEN THEN ELSE END 使用用法。

  在用sql语句统计某字段的某种状态的出现的次数,可以考虑用到 CASE WHEN THEN ELSE END 使用用法。当数据量过于庞大,不建议使用。

范例:

 SUM( CASE WHEN state=0 THEN 1 ELSE 0 END )as deade 

二、 to_char

  将时间戳转为日期格式 , 具体使用情景是可以通过 GROUP BY 聚合

范例:

 to_char(to_timestamp(add_time), 'YYYY-MM-DD') 

三、LEFT JOIN , RIGHT JOIN

  涉及到表间操作,可以使用.

范例:

 FROM a LEFT OUTER JOIN b ON a.id=b.mid 

四、sql 统计除法问题

  偶尔要统计比率之类的问题,需要用到除法规则 ,NUMERIC 数值类型

 ROUND(live::NUMERIC/total::NUMERIC,4) as percentage 

原文地址:https://www.cnblogs.com/blog_jun/p/4010734.html