Chinaunix首页 | 论坛 | 博客
  • 博客访问: 234892
  • 博文数量: 73
  • 博客积分: 3005
  • 博客等级: 中校
  • 技术积分: 857
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-24 10:11
文章分类

全部博文(73)

文章存档

2014年(2)

2011年(5)

2010年(29)

2009年(32)

2008年(5)

我的朋友

分类: Oracle

2008-12-16 17:02:38

question:
-----------------------------------------------------------
有这样一个表,中有三字段:部门、姓名、工资;
如:
BM NAME GZ
A 张三  890
A 李四 1500
B 王二 3200
...
想得到以下统计结果:
部门 工资<1000人数 工资1000-3000人数 工资>3000人数
A 10 15 8
...
 
answer:
-----------------------------------------------------------
select bm,
       sum(decode(sign(gz - 1000),-1,1,0)) "工资<1000人数",
       sum(decode(sign(gz - 1000) + sign(gz - 3000),0,1,0)) "工资1000-3000人数",
       sum(decode(sign(gz - 3000),1,1,0)) "工资>3000人数"
  from your_table
 group by bm ;
阅读(1023) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~