我有一个案例,我将多个数据集插入临时表。最后,我想在临时表的所有行中显示这些多个数据集的总行数。例如:
cnt1 name age
300 peter 21
200 piper 22
期望的结果集:
cnt1 name age
500 peter 21
500 piper 22
这是我在很长的存储过程结束时寻找的结果。我无法弄清楚如何在单个列上添加并显示所有行的总和。
答案 0 :(得分:2)
使用窗口功能:
select sum(cnt1) over() as cnt1, name, age
from TableName
修改强>
select (select sum(distinct cnt1) from TableName) as cnt1, name, age
from TableName
答案 1 :(得分:0)
尝试此操作(如果需要,可以使用union all
将其附加到之前的结果中)。
Select sum(Cnt1) over () as Cnt1, name, age
from MyTable
我的回答最初使用over (partition by 1)
,但我发现这是不必要的。
答案 2 :(得分:0)
与返回总计的子查询交叉连接:
select gt cnt1, name, age
from mytable
cross join (select sum(cnt1) gt from mytable) x