CASE WHEN 的使用

数据如下:
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 (金额)

 

 

转载于:https://www.cnblogs.com/dyz/archive/2010/01/26/1656350.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值