Mysql 如何编写查询,从总计中滚动减法以创建衰减曲线
我想从数据集的总和中减去每个有序行的值。总计为2014217,是数据集中所有视图的总和。以下是我正在寻找的数据集:Mysql 如何编写查询,从总计中滚动减法以创建衰减曲线,mysql,Mysql,我想从数据集的总和中减去每个有序行的值。总计为2014217,是数据集中所有视图的总和。以下是我正在寻找的数据集: viewing | views | total ------------------------------------ a0100 | 236303 | 1777914 a0100|a0101 | 9260 | 1768654 a0100|a0101|a0102 | 26670 | 1741984 总数将是总总
viewing | views | total
------------------------------------
a0100 | 236303 | 1777914
a0100|a0101 | 9260 | 1768654
a0100|a0101|a0102 | 26670 | 1741984
总数将是总总数减去236303,即1777914,然后下一个总数是1777914减去9260,即1768654,依此类推
有人能帮忙吗
谢谢,Ben您可以使用变量跟踪前一行的值 尝试以下解决方案:
SELECT @vw:=CONCAT(@vw, '|', a.viewing) AS viewing
a.views,
CASE @total
WHEN 0 THEN @total:=b.viewsum - a.views
ELSE @total:=@total - a.views
END AS total
FROM tbl a
CROSS JOIN (SELECT SUM(views) AS viewsum FROM tbl) b
CROSS JOIN (SELECT @vw:='') vw_init
CROSS JOIN (SELECT @total:=0) total_init