sql - 对相同 ID 列的列值进行增量求和

标签 sql sql-server-2008

我在 SQL Server 2008 中查询时遇到问题,我在互联网上进行了搜索,但什么也没找到,或者它没有给我任何关于如何执行此操作的想法。

使用 Northwind 数据库,我需要查询表 OrderDetails 并选择显示如下内容的 OrderID 和 UnitPrice,

OrderID   -    UnitPrice
------------------------
10248     -     14.00
10248     -     9.80
10248     -     34.80
10249     -     18.60

结果应该是:

OrderID   -    UnitPrice
------------------------
10248     -     14.00
10248     -     23.80
10248     -     58.6
10249     -     18.60

最佳答案

请检查:

;with T as(
    select 
        *, 
        ROW_NUMBER() over (partition by OrderID order by OrderID) RNum
    from YourTable
)
select 
    *, 
    (select sum(UnitPrice) from T b where b.OrderID=a.OrderID and b.RNum<=a.RNum) CumTotal
From T a

尝试SQL Fiddle

关于sql - 对相同 ID 列的列值进行增量求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16535318/

相关文章:

sql-server - SQL Server 的开发版是否允许您拥有多个用户?

sql - 使用排名函数查找重复出现

sql - SQL 更新查询错误

sql - 在 SQL Server 2008 中创建新数据库时的自动关闭选项是什么?

mysql - 外键冗余

SQL Server : Creating A Complex Calendar View For Employees

PHP 自动发送电子邮件不起作用

SQL Server 2008链接服务器连接字符串设置

用于存储用户日常事件的 SQL 表结构

php - 使用 PHP 在使用 COUNT(*) 的地方输出 MySQL 查询