在 T-SQL 查询中对 nvarchar 数据类型使用 GROUP BY 子句

Using GROUP BY clause on nvarchar data type in T-SQL Query

我正在使用 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' 子句,但在我的查询中实现它时遇到了一些困难。

这与nvarchar类型无关。问题是您将汇总的列包含在 group by 子句中。

从 group by 子句中删除 [FOC NET AMOUNT]。它不应该存在,因为它在聚合函数中使用,因此不属于分组。