您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

MySQL SELECT函数汇总当前数据

MySQL SELECT函数汇总当前数据

这称为累积和。

Oracle和中Postgresql,它是使用窗口函数计算的:

SELECT  id, val, SUM() OVER (ORDER BY id ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
FROM    mytable

但是,MysqL不支持它。

在中MysqL,您可以使用会话变量进行计算:

SET @s = 0;

SELECT  id, val, @s := @s + val
FROM    mytable
ORDER BY
        id
;

或以纯粹的基于集合但效率较低的方式:

SELECT  t1.id, t1.val, SUM(t2.val)
FROM    mytable t1
JOIN    mytable t2
ON      t2.id <= t1.id
GROUP BY
        t1.id
;
MySQL 2022/1/1 18:34:50 有553人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶