数据如下:
id 设备 金额
1 笔记本 4500
2 打印机 600
3 数码象机 2100
4 空调 1300
5 台式电脑 3300
6 东芝复印机 5000
7 显示器 1100
要求取得的数据如下:
金额结构 数量 总金额
1000元以下 1 600
1000-2000 2 3200
2000-3000 1 2100
3000以上 3 12800
if
object_id
(
'
[tb]
'
)
is
not
null
drop
table
[
tb
]
create table [ tb ] ( [ id ] int , [ 设备 ] varchar ( 10 ), [ 金额 ] int )
insert [ tb ]
select 1 , ' 笔记本 ' , 4500 union all
select 2 , ' 打印机 ' , 600 union all
select 3 , ' 数码象机 ' , 2100 union all
select 4 , ' 空调 ' , 1300 union all
select 5 , ' 台式电脑 ' , 3300 union all
select 6 , ' 东芝复印机 ' , 5000 union all
select 7 , ' 显示器 ' , 1100
select 金额结构,
count ( 1 ) as 数量,
sum (金额) as 总金额
from ( select case when 金额 > 3000 then ' 3000以上 '
when 金额 > 2000 and 金额 <= 3000 then ' 2000-3000 '
when 金额 > 1000 and 金额 <= 2000 then ' 1000-2000 '
else ' 1000 元以下 ' end as 金额结构, * from [ tb ] ) a
group by 金额结构 order by sum (金额)
create table [ tb ] ( [ id ] int , [ 设备 ] varchar ( 10 ), [ 金额 ] int )
insert [ tb ]
select 1 , ' 笔记本 ' , 4500 union all
select 2 , ' 打印机 ' , 600 union all
select 3 , ' 数码象机 ' , 2100 union all
select 4 , ' 空调 ' , 1300 union all
select 5 , ' 台式电脑 ' , 3300 union all
select 6 , ' 东芝复印机 ' , 5000 union all
select 7 , ' 显示器 ' , 1100
select 金额结构,
count ( 1 ) as 数量,
sum (金额) as 总金额
from ( select case when 金额 > 3000 then ' 3000以上 '
when 金额 > 2000 and 金额 <= 3000 then ' 2000-3000 '
when 金额 > 1000 and 金额 <= 2000 then ' 1000-2000 '
else ' 1000 元以下 ' end as 金额结构, * from [ tb ] ) a
group by 金额结构 order by sum (金额)