举例子:一个user表 有user_id自增主键,还有create_time用户创建时间  

  业务需求  让你统计每天用户的总量和相比前一天增加了多少用户量

如图表二这种。

首先将每天的总量查出来 表中的时间一般为date_time类型  所以用个函数 

SELECT DATE_FORMAT(create_time,'%Y-%m-%d') dd,COUNT(*) num FROM USER GROUP BY DATE_FORMAT(create_time,'%y-%m-%d')

将上一个SQL作为一个统计表来计算增量  上SQL。各位可以自己试试


SELECT a.dd,a.num,SUM(lt.num)  AS cum FROM
(SELECT DATE_FORMAT(create_time,'%Y-%m-%d') dd,COUNT(*) num FROM USER GROUP BY DATE_FORMAT(create_time,'%y-%m-%d'))  a
JOIN
(SELECT DATE_FORMAT(create_time,'%Y-%m-%d') dd,COUNT(*) num FROM USER GROUP BY DATE_FORMAT(create_time,'%y-%m-%d'))  lt
ON a.dd >= lt.dd GROUP BY dd



使用SQL统计某个表每天的总量和增量 mysql数据库_第1张图片(表一)使用SQL统计某个表每天的总量和增量 mysql数据库_第2张图片(表二)