sql server - Sum()列X,但只添加一列Y.

Ase*_*tam 2 sql-server

我的桌子是这样的

A | X | Y
--+---+--
1 | 2 | 3
1 | 4 | 3
2 | 9 | 1
2 | 7 | 1
Run Code Online (Sandbox Code Playgroud)

我想要的是将X列与Group By A相加但仅添加Y一次.对于特定的A,Y列中的值始终相同.

当我运行这个:

SELECT SUM(X + Y) FROM TABLE GROUP BY A
Run Code Online (Sandbox Code Playgroud)

它给了我:12,18.但我需要9,17.

谢谢.

Adr*_*der 6

看看(SUM(Transact-SQL))

SUM([ALL | DISTINCT]表达式)

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
Run Code Online (Sandbox Code Playgroud)