SQL Server中SUM()的对应项是什么?

圭多

在其中,SQL Server您可以执行sum(field1)以获取与groupby子句匹配的所有字段的总和。
但是我需要减去而不是求和的字段。
有没有类似sum(field1)的东西可以代替sum(field1)使用?

例如,table1具有以下内容:

name field1  
A 1  
A 2  
B 4  

询问:

select name, sum(field1), subtract(field1)  
from table1  
group by name  

会给我:

A 3 -1  
B 4 4 

希望我的问题清楚。

编辑 :

还有一个我可以使用的排序字段。这样可以确保值1和2始终会导致-1而不是1。

我需要的是A的所有值都减去,在我的示例中1-2 = -1

EDIT2:如果A组的值是1,2,3,4,则结果必须是1-2-3-4 = -8

卢卡斯·索佐达(Lukasz Szozda)

假设您有一列指示顺序的列,以选择每个组的第一个元素,则可以使用窗口函数来计算substract

CREATE TABLE tab(ID INT IDENTITY(1,1) PRIMARY KEY, name CHAR(1), field1 INT);
INSERT INTO tab(name, field1) VALUES ('A', 1), ('A', 2), ('B', 4);

SELECT DISTINCT 
   name
   ,[sum]       = SUM(field1) OVER (PARTITION BY name)
   ,[substract] = SUM(-field1) OVER (PARTITION BY name) 
                  + 2*FIRST_VALUE(field1) OVER(PARTITION BY name ORDER BY ID)
FROM tab;

LiveDemo

输出:

╔══════╦═════╦═══════════╗
║ name ║ sum ║ substract ║
╠══════╬═════╬═══════════╣
║ A    ║   3 ║        -1 ║
║ B    ║   4 ║         4 ║
╚══════╩═════╩═══════════╝

警告:

FIRST_VALUE 可从 SQL Server 2012+

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL Server中SUM()的对应项是什么?

来自分类Dev

POSTGRESQL中的CHARINDEX(SQL SERVER)等效项是什么?

来自分类Dev

SQL Server中的TeraData PREPARE语句的等效项是什么

来自分类Dev

SQL Server中LONG数据类型的等效项是什么?

来自分类Dev

SQL Server中LONG数据类型的等效项是什么?

来自分类Dev

SQL Server中“ @@”的用法是什么

来自分类Dev

级联管道中的SQL NOT IN等效项是什么?

来自分类Dev

R中SQL的IN关键字的等效项是什么?

来自分类Dev

级联管道中的SQL NOT IN等效项是什么?

来自分类Dev

什么是SQL Server中的标识列?以及SQL Server中的身份类型是什么?

来自分类Dev

SQL Server中OUTPUT子句的用途是什么

来自分类Dev

NServiceBus中Sql Server Transport的局限性是什么?

来自分类Dev

在Sql Server中查找重复的uniqueidentifier的最快方法是什么?

来自分类Dev

SQL Server中“货币”的数据类型是什么?

来自分类Dev

postgresql中MS SQL Server的getutcdate()的等效性是什么?

来自分类Dev

SQL Server中Date的数据类型是什么?

来自分类Dev

在SQL Server 2008中声明varbinary的正确方法是什么?

来自分类Dev

SQL Server中的smallmoney数据类型单位是什么?

来自分类Dev

SQL Server的GRANT <permission>中的对象是什么?

来自分类Dev

SQL Server中的“ message”关键字是什么?

来自分类Dev

NServiceBus中Sql Server Transport的局限性是什么?

来自分类Dev

SQL Server中架构名称的意义是什么

来自分类Dev

在 SQL Server 中批量插入数据的最佳方法是什么?

来自分类Dev

SQL Server的SET NOCOUNT ON的DB2等效项是什么?

来自分类Dev

SQL Server中的复合SUM

来自分类Dev

SQL Server - 正确的语法是什么?

来自分类Dev

SQL-job中的“SQL server agent service account”是什么意思?

来自分类Dev

此方法的Oracle PL / SQL等效项是什么?

来自分类Dev

SQL的“ LIKE'%searched_word%'”的R等效项是什么?

Related 相关文章

  1. 1

    SQL Server中SUM()的对应项是什么?

  2. 2

    POSTGRESQL中的CHARINDEX(SQL SERVER)等效项是什么?

  3. 3

    SQL Server中的TeraData PREPARE语句的等效项是什么

  4. 4

    SQL Server中LONG数据类型的等效项是什么?

  5. 5

    SQL Server中LONG数据类型的等效项是什么?

  6. 6

    SQL Server中“ @@”的用法是什么

  7. 7

    级联管道中的SQL NOT IN等效项是什么?

  8. 8

    R中SQL的IN关键字的等效项是什么?

  9. 9

    级联管道中的SQL NOT IN等效项是什么?

  10. 10

    什么是SQL Server中的标识列?以及SQL Server中的身份类型是什么?

  11. 11

    SQL Server中OUTPUT子句的用途是什么

  12. 12

    NServiceBus中Sql Server Transport的局限性是什么?

  13. 13

    在Sql Server中查找重复的uniqueidentifier的最快方法是什么?

  14. 14

    SQL Server中“货币”的数据类型是什么?

  15. 15

    postgresql中MS SQL Server的getutcdate()的等效性是什么?

  16. 16

    SQL Server中Date的数据类型是什么?

  17. 17

    在SQL Server 2008中声明varbinary的正确方法是什么?

  18. 18

    SQL Server中的smallmoney数据类型单位是什么?

  19. 19

    SQL Server的GRANT <permission>中的对象是什么?

  20. 20

    SQL Server中的“ message”关键字是什么?

  21. 21

    NServiceBus中Sql Server Transport的局限性是什么?

  22. 22

    SQL Server中架构名称的意义是什么

  23. 23

    在 SQL Server 中批量插入数据的最佳方法是什么?

  24. 24

    SQL Server的SET NOCOUNT ON的DB2等效项是什么?

  25. 25

    SQL Server中的复合SUM

  26. 26

    SQL Server - 正确的语法是什么?

  27. 27

    SQL-job中的“SQL server agent service account”是什么意思?

  28. 28

    此方法的Oracle PL / SQL等效项是什么?

  29. 29

    SQL的“ LIKE'%searched_word%'”的R等效项是什么?

热门标签

归档