Sql server sql server-Sum()列X,但只添加一次列Y
我的桌子是这样的Sql server sql server-Sum()列X,但只添加一次列Y,sql-server,Sql Server,我的桌子是这样的 A | X | Y --+---+-- 1 | 2 | 3 1 | 4 | 3 2 | 9 | 1 2 | 7 | 1 我想要的是将X列和Group相加一次,但只加一次Y。对于特定a,Y列中的值始终相同 当我运行此命令时: SELECT SUM(X + Y) FROM TABLE GROUP BY A 它给了我:12,18。但我需要9,17 谢谢。看看() SELECT SUM(X) + MIN(Y) FROM TABLE GROUP BY A 总和([ALL | DIS
A | X | Y
--+---+--
1 | 2 | 3
1 | 4 | 3
2 | 9 | 1
2 | 7 | 1
我想要的是将X列和Group相加一次,但只加一次Y。对于特定a,Y列中的值始终相同
当我运行此命令时:
SELECT SUM(X + Y) FROM TABLE GROUP BY A
它给了我:12,18。但我需要9,17
谢谢。看看()
SELECT SUM(X) + MIN(Y) FROM TABLE GROUP BY A
总和([ALL | DISTINCT]表达式)
以前的查询(编辑前)也有效!!这似乎好多了。谢谢。很抱歉,我一时完全忘了求和的区别。我一直认为COUNT(DISTINT)X-)工作得很好,谢谢。不同的Y似乎是一个更好的选择。我认为结果在最初的帖子中是正确的,但现在是“关闭”。此外,给出的示例看起来也不正确。我想应该是“A从表组中选择总和(X+Y)”@Daniel:是的,谢谢。后期编辑。
DECLARE @Table TABLE(
A INT,
X FLOAT,
Y FLOAT
)
INSERT INTO @Table SELECT 1,2,3
INSERT INTO @Table SELECT 1,4,3
INSERT INTO @Table SELECT 2,9,1
INSERT INTO @Table SELECT 2,7,1
SELECT A,
SUM(X) + SUM(DISTINCT Y) SUMVals
FROM @Table
GROUP BY A