我想获得一列的总和,并使用相同的查询返回另一列中的值。第二列始终保持不变。我的专栏看起来像这样:
A | B
4.19 | 111222
3.29 | 111222
5.10 | 111222
1.11 | 111222
我想要A列的和,并简单地返回B列。
SELECT (SELECT SUM(A) FROM yourTable), B FROM yourTable
子查询可以移动到CTE。
或
SELECT S, B
FROM YourTable, (SELECT SUM(A) S FROM yourTable) i
SELECT sum(A) over () sumofA, B
FROM your_table
为了获得更好的性能,请使用:
DECLARE @A AS FLOAT
SELECT @A = SUM(A) FROM YourTable
SELECT @A, B FROM YourTable
子查询将在YourTable的每一行中运行一次。但上述查询只运行一次。