显示和列SQL代码
我需要用SQL代码在col下显示sum col(项)?这是可能的显示和列SQL代码,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我需要用SQL代码在col下显示sum col(项)?这是可能的 Code item ---- ---- 1 30 3 40 4 50 9 80 ---- ---- Total
Code item
---- ----
1 30
3 40
4 50
9 80
---- ----
Total 200
使用
Rollup
获取摘要行
SELECT CASE
WHEN Grouping(code) = 1 THEN 'Total'
ELSE Cast(code AS VARCHAR(50))
END,
Sum(item)
FROM Yourtable
GROUP BY code WITH rollup
使用
Rollup
获取摘要行
SELECT CASE
WHEN Grouping(code) = 1 THEN 'Total'
ELSE Cast(code AS VARCHAR(50))
END,
Sum(item)
FROM Yourtable
GROUP BY code WITH rollup
脚本:
select Code , sum(item)item
from @Table1
group by GROUPING SETS((Code) , ())
order by Code DESC
脚本:
select Code , sum(item)item
from @Table1
group by GROUPING SETS((Code) , ())
order by Code DESC
由于我们使用的是union,所以按操作的顺序和顺序都将被保存
由于我们使用的是union,因此将保存所有不同的操作和order by操作。虽然这可能有效,但它会访问表两次。请参阅上述解决方案虽然这可能有效,但它会访问表两次。请参阅上述解决方案
Select
Code,
item
from
@ table_name
Union All
select
Null,
sum(item)item
from
@ table_name