with ww(yuwen,shuxue,yingyue) as ( select 100,200,300 union select 150,220,500 )select yuwen,shuxue,yingyue,SUM(yuwen) over() as totalyuwen from ww
如果你的ww表没有id这种类似的字段,又要求合计只显示在第一行,用下面的语句 with ww(yuwen,shuxue,yingyue) as ( select 100,200,300 union select 150,220,500 )select yuwen,shuxue,yingyue,case when id=1 then cast(totalyuwen AS varchar) else '' end totalyuwen from (select ROW_NUMBER() over(order by yuwen) id,yuwen,shuxue,yingyue,SUM(yuwen) over() as totalyuwen from ww) ww
(
select 100,200,300
union
select 150,220,500
)select yuwen,shuxue,yingyue,SUM(yuwen) over() as totalyuwen from ww
with ww(yuwen,shuxue,yingyue) as
(
select 100,200,300
union
select 150,220,500
)select yuwen,shuxue,yingyue,case when id=1 then cast(totalyuwen AS varchar) else '' end totalyuwen
from (select ROW_NUMBER() over(order by yuwen) id,yuwen,shuxue,yingyue,SUM(yuwen) over() as totalyuwen from ww) ww