我正在使用SQL SERVER 2014.我的查询如下:
SELECT [PMSConfirmationNumber],[AR ACCOUNT NAME],sum([FOC NET AMOUNT]) AS [FOC_NET AMOUNT]
FROM ARACCOUNT
WHERE [PMSCONFIRMATIONNUMBER] = '81827436-1'
Group by [PMSConfirmationNumber],[AR ACCOUNT NAME],[FOC NET AMOUNT]
但是,PMSCONFIRMATIONNUMBER字段是NVARCHAR数据类型,我有以下输出:
PMSConfirmationNumber AR ACCOUNT NAME FOC_NET AMOUNT
81827436-1 TRltd 1400
81827436-1 TRltd 600
因为我在初始查询中使用了SUM(FOC NET AMOUNT),所以我遵循以下输出:
PMSConfirmationNumber AR ACCOUNT NAME FOC_NET AMOUNT
81827436-1 TRltd 2000
如何修改查询?研究这个主题,我遇到了'PARTITION BY'条款,但我在查询中遇到了一些困难。
答案 0 :(得分:2)
这与nvarchar类型无关。问题是您在group by子句中包含聚合的列。
从group by子句中删除[FOC NET AMOUNT]
。它不应该存在,因为它在聚合函数中使用,因此不是分组的一部分。