我的表是这样的
SQL服务器 - 总和()列X,但增加了第Y列只有一次
A | X | Y
--+---+--
1 | 2 | 3
1 | 4 | 3
2 | 9 | 1
2 | 7 | 1
我想是总结X列与GROUP BY A,但加上y只有一次。在第Y列中的值总是相同的特定A.
当我运行此:
SELECT SUM(X + Y) FROM TABLE GROUP BY A
它给了我:12,18,但我需要9,17
感谢。
我的表是这样的
SQL服务器 - 总和()列X,但增加了第Y列只有一次
A | X | Y
--+---+--
1 | 2 | 3
1 | 4 | 3
2 | 9 | 1
2 | 7 | 1
我想是总结X列与GROUP BY A,但加上y只有一次。在第Y列中的值总是相同的特定A.
当我运行此:
SELECT SUM(X + Y) FROM TABLE GROUP BY A
它给了我:12,18,但我需要9,17
感谢。
看一看(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
上次查询(编辑前)也工作!这看起来好多了。谢谢。 – 2010-04-14 17:52:48
对不起,我完全忘了** SUM **中的** DISTINT **一会儿。我总是认为** COUNT(DISTINT)** X-) – 2010-04-14 17:56:46
SELECT SUM(X) + MIN(Y) FROM TABLE GROUP BY A
作品非常好,谢谢。不同的Y似乎是一个更好的选择。 – 2010-04-14 17:53:56
我认为结果在原来的职位是正确的,但现在是“关闭”的。另外给出的例子看起来不正确。我认为它应该是“SELECT SUM(X + Y)FROM TABLE GROUP BY A” – 2010-04-14 17:54:27
@Daniel:是的,谢谢。发布编辑。 – 2010-04-14 17:56:13