name qty
A 5
A 10
B 15
B 20
c 25
D 30
D 35結果為
name qty
A 15
B 60
D 65即分級時﹐將 B 與 C 算做一組
謝謝﹗﹗
A 5
A 10
B 15
B 20
c 25
D 30
D 35結果為
name qty
A 15
B 60
D 65即分級時﹐將 B 與 C 算做一組
謝謝﹗﹗
解决方案 »
- 数据库中有2字段,如何设定当某一字段的值为特定值时,另一字段不能为空?
- 如何设置缺省值
- 为什么IF判断失误,不能正确输出
- sql 语法错误
- 对SQL Server某一个或多个字段(数值型)分组进行汇总的SQL语句?
- 如果一张表中有重复的编码如何查找出来并删除?
- 求使用 存贮 过程 的详细教程!!!!
- 没有配置工具
- 急急!! 个人电脑上安装的SQL SERVER2000个人版为什么mssqlserver不能启动了,在服务中执行启动时提示:本地计算机上的mssqlserver
- 多行值-取DISTINCT-再转字符串-各位给想个方法-万分感谢
- 求SQL语句-在SELECT中判断显示那列
- 如果要删除一个用户,BBS数据库牵涉到哪些操作?
FROM tb
GROUP BY CASE WHEN name='c' THEN 'B' ELSE name END
WHEN name IN('B','C')
THEN 'B'
ELSE name
END AS name,
SUM(qty) AS qty
FROM tb_name
GROUP BY CASE
WHEN name IN('B','C')
THEN 'B'
ELSE name
END
先update 再select name,sum(qty) from tb group by name
from (select case name when 'c' then 'b' else name end as newname,qty from tb) t
group by newname
declare @t table(name varchar(10), qty int)
insert @t select 'A' ,5
insert @t select 'A', 10
insert @t select 'B', 15
insert @t select 'B', 20
insert @t select 'c' ,25
insert @t select 'D', 30
insert @t select 'D', 35
select replace(name,'C','B'),sum(qty) from @t group by replace(name,'C','B')
/*
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -----------
A 15
B 60
D 65*/
declare @t table
(
name char(1),
qty int
)insert @t select 'A',5
union all select 'A',10
union all select 'B',15
union all select 'B',20
union all select 'C',25
union all select 'D',30
union all select 'D',35select
a.name,
sum(a.qty) as qty
from(
select
name = case name when 'C' then 'B' else name end,
qty
from @t
)a
group by a.name
select name,qty=sum(qty) from
(select name=case name when 'c' then 'b' else name end,qty from tb) a
group by name