我想知道是否有人可以帮忙。
我有以下代码,它基本上将 10 条记录插入到一个表中。从这张表中,我试图显示针对卖家的销售总额。我尝试过使用 LAG 功能,但这似乎不起作用。
这是代码。
CREATE TABLE Sales
(
OrderId Int NOT NULL,
Seller varchar(10) NULL,
Amount money NULL
)
INSERT INTO Sales VALUES
(1, 'Alex', 10.00),
(2, 'Sarah', 15.00),
(3, 'Tracy', 10.25),
(4, 'Pete', 10.25),
(5, 'Tracy', 11.00),
(6, 'Tracy', 10.25),
(7, 'Alex', 10.25),
(8, 'Jane', 10.25),
(9, 'Alex', 20.55)
SELECT Seller, Amount, LAG(Amount,1) OVER (PARTITION BY Seller ORDER BY Seller) AS RunningTotal FROM Sales
基本上在这个例子中,我希望得到以下输出
Seller|Amount|Running Total
Alex|10.00|10.00
Alex|1.25|20.25
Alex|20.55|40.90
Jane|10.25|10.25
Pete|10.25|10.25
Sarah|15.00|15.00
Tracy|10.25|10.25
Tracy|11.00|21.25
Tracy|10.25|31.50
希望有人可以帮助并提前感谢。戴夫
我猜你有一个 sql server,但它应该也可以在其他支持窗口函数的 rdms 上工作
db<>在这里摆弄