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