Temptation

寻道之路 , 与您同行 !

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  319 随笔 :: 0 文章 :: 170 评论 :: 3 Trackbacks
原表结构
序号
1 a 800
2 b 900
3 a 400
4 d  1400
5 e 1200
6 f 500
7 a  300
8 d 1000
9 d 1230
10 b 2000
11 c 2000
12 b 1200

最终显示
  人数                    小于800元  从800至999  从1000元至1190元     大于1200元
a          3 2 1 2 1 0 0
b         3 1 2 0 1 0 2
c          1 1 0 0 0 0 1
d         3 1 2 0 0 1 2
e         1 1 0 0 0 0 1
f          1 1 0 1 0 0 0

SELECT 部门名,COUNT(序号) as 人数,
     
SUM(CASE 性别 WHEN 1 THEN 1 ELSE 0 ENDas 男,
           
SUM(CASE 性别 WHEN 2 THEN 1 ELSE 0 ENDas 女,
     
SUM(CASE SIGN(工资-800WHEN -1 THEN 1 ELSE 0 ENDas 小于800元,
     
SUM((CASE SIGN(工资-800)*SIGN(工资-1000)                     /*用*来实现<和>功能*/
          
WHEN -1 THEN 1 ELSE 0 END)+(CASE 工资
          
WHEN 800   THEN 1 ELSE 0 END)) as 从800至999,          /*注意别名不能以数字开头*/
     
SUM((CASE SIGN(工资-1000)*SIGN(工资-1200)
          
WHEN -1 THEN 1 ELSE 0 END)+(CASE 工资
          
WHEN 1000 THEN 1 ELSE 0 END)) as 从1000元至1199元,
     
SUM((CASE SIGN(工资-1200WHEN 1 THEN 1 ELSE 0 END)
     
+(CASE 工资 WHEN 1200 THEN 1 ELSE 0 END)) as 大于1200元
FroM 工资明细表 
GROUP BY 部门名

posted on 2008-03-25 13:17 temptation 阅读(114) 评论(0)  编辑 收藏 所属分类: 数据库--MSSQL

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
 

另存  打印