sql – 如何使用SUM()OVER()
发布时间:2020-12-12 08:44:23 所属栏目:MsSql教程 来源:网络整理
导读:我不明白这个代码的错误 ID AccountID Quantity1 1 10 Sum = 102 1 5 = 10 + 5 = 153 1 2 = 10 + 5 + 2 = 174 2 7 = 75 2 3 = 7 + 3 = 10 SELECT ID,AccountID,Quantity,SUM(Quantity) OVER (PARTITION BY AccountID ) AS TopBorcT,FROM tCariH 解决方法 似乎
我不明白这个代码的错误
ID AccountID Quantity 1 1 10 Sum = 10 2 1 5 = 10 + 5 = 15 3 1 2 = 10 + 5 + 2 = 17 4 2 7 = 7 5 2 3 = 7 + 3 = 10 SELECT ID,AccountID,Quantity,SUM(Quantity) OVER (PARTITION BY AccountID ) AS TopBorcT,FROM tCariH 解决方法似乎像您期望该查询返回运行总计,但它必须给您两个分区的AccountID相同的值.要使用SUM()OVER()获取运行总数,您需要在PARTITION BY …之后添加一个ORDER BY子子句,如下所示: SUM(Quantity) OVER (PARTITION BY AccountID ORDER BY ID) 但请记住,并不是所有的数据库系统都支持ORDER BY在窗口聚合函数的OVER子句中. (例如,SQL Server直到最新版本SQL Server 2012才支持它). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |