小编use*_*197的帖子

无法弄清楚sum(1)在此查询中的工作方式

因此,我试图结合进行查询和做到这一点,我需要弄清楚这是怎么回事。我对SQL Server还是比较陌生,因此我不得不深入研究一些复杂的qrys,有时我会陷入类似这样的简单问题。我的问题是使用了Sum(1)函数,但我不确定如何使用。这意味着我相信它正在计算重复项,但我无法根据它所提供的信息来判断。

这是查询

SELECT 
qryReinsuranceDPA1.POLICY_NO, 
qryReinsuranceDPA1.PHASE_CODE, 
qryReinsuranceDPA1.SUB_PHASE_CODE, 
qryReinsuranceDPA1.ProdType, 
TotalDPA = Sum(case when [SumOfNetDefExtraAdj] Is Null then [SumOfNetDefPremiumAdj] else [SumOfNetDefPremiumAdj] + SumOfNetDefExtraAdj end), 
Sum(1) AS Expr1
FROM qryPolicyListforNYDefPRemAsset_Re RIGHT JOIN qryReinsuranceDPA1
ON 
qryReinsuranceDPA1.POLICY_NO = qryPolicyListforNYDefPRemAsset_Re.POLICY_NO AND 
qryReinsuranceDPA1.PHASE_CODE= qryPolicyListforNYDefPRemAsset_Re.PHASE_CODE AND 
qryReinsuranceDPA1.SUB_PHASE_CODE = qryPolicyListforNYDefPRemAsset_Re.SUB_PHASE_CODE 
GROUP BY qryReinsuranceDPA1.POLICY_NO, 
qryReinsuranceDPA1.PHASE_CODE, 
qryReinsuranceDPA1.SUB_PHASE_CODE, 
qryReinsuranceDPA1.ProdType
--HAVING (((Sum(1))<>1))

GO
Run Code Online (Sandbox Code Playgroud)

这只是它产生的一小部分样本(实际结果约为77,000)

POLICY_NO    PHASE_CODE    SUB_PHASE_CODE    ProdType   TotalDPA       Expr1
228433800    0             1                 TERM       282.324223     1
228439200    0             1                 PERM       53.17048634    1
228439200    6             1                 PERM       10.3805065     1
228441500    0             1                 PERM       526.6883742 …
Run Code Online (Sandbox Code Playgroud)

sql-server sum aggregate-functions

1
推荐指数
1
解决办法
8790
查看次数

标签 统计

aggregate-functions ×1

sql-server ×1

sum ×1