sql server: 使用自连接
SELECT T.出库单号,T.制单日期, T.出库数量, SUM(T1.出库数量) AS 累加出库数
FROM 表 T
LEFT JOIN 表 T1
ON T1.制单时间 <= T.制单时间
GROUP BY T.出库单号,T.制单时间, T.出库数量
oracle: 分析函数
SELECT T.*, SUM(出库数量) OVER(ORDER BY 制单时间) AS 累计出库数 FROM 表 T
追问表格里的制单时间,有些行是相同的,
【ON T1.制单时间 <= T.制单时间】可能会出问题哦
追答那就加个序号:
with tmp as
(select a.*,row_number()over(order by 制单日期) as rn from 表 a)
SELECT T.出库单号,T.制单日期, T.出库数量, SUM(T1.出库数量) AS 累加出库数
FROM tmp T
LEFT JOIN tmp T1
ON T1.rn <= T.rn
GROUP BY T.出库单号,T.制单时间, T.出库数量