如何写SQL实现:在数据表中增加一列,该列的值是出库数的累加
如下图,在数据表中增加一列【累计出库数】,累计出库数的值等于出库数的累加数(按制单日期升序累加),如何写SQL实现...
如下图,在数据表中增加一列【累计出库数】,累计出库数的值等于出库数的累加数(按制单日期升序累加),如何写SQL实现
展开
展开全部
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.出库数量
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询