Mysql当前列的值等于上一行的值累加前一列的值

前言:公司项目需要做数据可视化,统计一些数据,比如用户增长量,按每天分组,还要计算每天累加的用户量,一开始也是想了很久,不知道怎么做,后面 百度的,找打了一个解决办法。

定义一个变量,然后进行两个值的相加:

-- 用户数据+按日期+每天累计人数	
SELECT
    reg_time,
    total1 as '每天增加用户数',
    @total := @total + total1 AS '累加用户数'
FROM
    (
        SELECT
            DATE_FORMAT(create_time, '%Y-%m-%d') reg_time,
            count(*) AS total1
        FROM wechat_member
        GROUP BY DATE_FORMAT(create_time, '%Y%m%d')
    ) AS temp,
    (SELECT @total := 0) AS T1
ORDER BY
    reg_time;

执行想过如下:

(SELECT @total := 0) AS T1也就算是新增的一列值,然后总计的时候,就是当前值加上total1的值

大概就是这样子。

发布了33 篇原创文章 · 获赞 23 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/SunFlowerXT/article/details/89470843