获取此数据列表时遇到问题。我试过的大部分内容都没有像预期的那样。
这是我的输入数据:
Code Name total
01 First 50
02 Last 20
11 First 10
12 Last 25
21 First 15
22 Last 15
这是我想要的输出:
Code Name total
01 First 50
02 Last 20
GROUP: 0 - 70
11 First 10
12 Last 25
GROUP: 1 - 35
21 First 15
22 Last 15
GROUP: 2 - 30
我需要第三行(不是列),前两行代表前两行组(组零)(前两行的总和,如第三行),也代表最后两组。
答案 0 :(得分:0)
declare @table table (code varchar(10), name varchar(10), total int);
insert into @table(code, name, total) values
('01', 'First', 50),
('02', 'Last', 20),
('11', 'First', 10),
('12', 'Last', 15),
('21', 'First', 15),
('22', 'Last', 15);
select * from @table;
--select code, name, sum(total)
-- from @table
-- group by rollup (substring(code,1,1), name);
select code, name, total,
sum(total) over (partition by substring(code,1,1)) as subtotal
from @table;
不再支持计算:
触及范围未经测试
SELECT Code, Name, Total
FROM Table
ORDER BY Code, Name
COMPUTE SUM(Total) BY SubString(Code,1,1);
答案 1 :(得分:0)