举例子:一个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
(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
(表一)
(表二)