获取按 SQL Server 中不同字段分组的总和

尼亚斯

这是我的桌子

 PayerID PaymentID Amount

    1   8386    5827.14
    1   8386    5827.14
    1   8386    5827.14
    1   8387    4464.68
    1   8387    4464.68
    1   8387    4464.68
    2   8388    1482.57
    2   8388    1482.57
    2   8388    1482.57
    2   8388    1482.57
    2   8388    1482.57
    2   8388    1482.57
    2   8388    1482.57
    2   8388    1482.57
    2   8388    1482.57

我想要按 PayerID 的不同 PaymentID 组的金额总和,如下所示

payerID AmountSum
1        5827.14 + 4464.68
2         1482.57
卢卡斯·索兹达

SUM(DISTINCT)

SELECT PayerId, SUM(DISTINCT Amount) AS AmountSum
FROM tab
GROUP BY PayerId;

此解决方案假定Amount对于不同的PaymentId.


更通用的方法:

SELECT PayerId, SUM(Amount) AS AmountSum
FROM (SELECT DISTINCT PayerID, PaymentID, Amount
      FROM tab) sub
GROUP BY PayerId

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在SQL Server中按季度分组yearmonth字段

来自分类Dev

如何在SQL Server 2008中获取时间总和字段

来自分类Dev

SQL Server中的分组总和

来自分类Dev

SQL Server中的分组总和

来自分类Dev

SQL Server查询按字段分组错误

来自分类Dev

SQL Server查询按字段分组错误

来自分类Dev

SQL Server查询按字段分组错误

来自分类Dev

SQL Server:按组标题分组,组总和与总和

来自分类Dev

从SQL Server中的多个表中按顺序获取行

来自分类Dev

在SQL Server中按班次查询总和

来自分类Dev

在SQL Server中按子查询分组

来自分类Dev

在SQL Server中按顺序分组

来自分类Dev

在SQL Server中按顺序分组

来自分类Dev

在SQL Server中按子查询分组

来自分类Dev

在SQL Server中按count()子句分组

来自分类Dev

在SQL Server中按范围分组

来自分类Dev

如何按不同的列排序,然后在 SQL Server 中获取偏移行?

来自分类Dev

SQL Server按位置分组

来自分类Dev

按范围SQL Server分组

来自分类Dev

SQL Server:按连续分组

来自分类Dev

SQL Server按不同列分组并创建新变量

来自分类Dev

SQL Server:按列分组并获取第一组

来自分类Dev

SQL总和按字段分组并包含所有行

来自分类Dev

SQL获取按最新修改的行排序的分组字段

来自分类Dev

如何在SQL Server中按行号从表中获取元素

来自分类Dev

从Microsoft SQL Server 2008中的列中的每个不同字段中获取前2行

来自分类Dev

在SQL Server中按varbinary(MAX)或varchar(MAX)分组

来自分类Dev

在SQL Server中按问题分组,从MySQL迁移

来自分类Dev

在SQL Server中按查询分组返回重复项