sql-server - 对 SQL 表进行排序以显示第一行和所有其他行的总和

标签 sql-server sorting select group-by view

如何让下表在新列中仅显示具有最早日期的行以及具有相同项目 ID 的“数量”总和。

如下图,

Name  ItemID   Date         Qty
A     A0001    25-Feb-14    23
B     A0001    01-Apr-14    4
C     A0001    18-Jul-14    54
D     K0006    03-Mar-14    86
E     K0006    11-Jan-14    29
F     X0003    27-Sep-14    19
G     X0003    12-Nov-14    28

这就是结果应该是什么样的,

Name   ItemID   Date        Qty  Total Outstanding
A      A0001    25-Feb-14   23   81
E      K0006    11-Jan-14   29   115
F      X0003    27-Sep-14   19   47

最佳答案

SELECT a.Name,a.ItemID,b.Date,a.Qty,b.Total FROM TableA a
INNER JOIN (SELECT ItemID,MIN(Date) AS Date,SUM(Qty)
AS Tatal FROM TableA GROUP BY ItemID)b ON
b.ItemID=a.ItemID AND a.Date=b.Date

关于sql-server - 对 SQL 表进行排序以显示第一行和所有其他行的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26889552/

相关文章:

php - Kohana orm 命令升序/降序?

c++ - 通过 std::sort 对 C 二维数组进行排序

algorithm - 查找字符串的排序等级

MySQL - 并发选择 - 一个客户端等待另一个?

javascript - METEOR 更改选择标签颜色

shell - Linux 脚本选择菜单

c# - 如何从动态 Entity Framework 存储过程返回表格字符串数据?

sql - 使 SQL SERVER 以特定顺序评估子句

sql-server - 如何获得两个日期之间的天/月/年(datediff)差异?

sql - 为什么 Docker 中的 MSSQL 在 sql 查询中返回 "The last operation was terminated because the user pressed CTRL+C"?