对一列查询返回多列的问题部门 员工 工资
-----------------
部门1 员工1 1000
部门1 员工2 1000
部门1 员工3 2000
部门2 员工4 2000
部门2 员工6 1000
部门3 员工7 2000
部门3 员工8 3000
部门3 员工9 4000要求查询结果为:
部门 工资>=1000 工资>=2000 工资>=3000 (人数)
------------------------------
部门1 3 0 0
部门2 3 1 0
部门3 3 3 2以下查询可以,但因为其它原因不能用此方案,请教其它的方案
SELECT 部门,sum(case when 工资>=1000 then 1 else 0 end) as 工资>=1000 ,sum(case when 工资>=2000 then 1 else 0 end) as 工资>=2000 FROM Data GROUP BY 部门
-----------------
部门1 员工1 1000
部门1 员工2 1000
部门1 员工3 2000
部门2 员工4 2000
部门2 员工6 1000
部门3 员工7 2000
部门3 员工8 3000
部门3 员工9 4000要求查询结果为:
部门 工资>=1000 工资>=2000 工资>=3000 (人数)
------------------------------
部门1 3 0 0
部门2 3 1 0
部门3 3 3 2以下查询可以,但因为其它原因不能用此方案,请教其它的方案
SELECT 部门,sum(case when 工资>=1000 then 1 else 0 end) as 工资>=1000 ,sum(case when 工资>=2000 then 1 else 0 end) as 工资>=2000 FROM Data GROUP BY 部门
解决方案 »
- 关于Ado控件的问题
- 用sqlserver2000更新paradox数据库出错
- SQL语句的事务怎么写啊?
- mdi窗体的隐藏
- 关于除法的问题。。简单。解决了,马上给分
- 界面象PowerPoint的切换效果,能用代码实现吗?
- 大虾帮忙啊,我在一个过程中在调用另一个事件(自带参数)的时候,参数怎么设置?谢谢
- 关于TListView控件的问题,100分相送
- 我用delphi编写asp应用,dll一旦调入内存,如何关闭? 我现在只有启动计算机.有没有更好的办法?(在线等待)
- 怎样对一个实数向上取整?
- 请问如何将ACCESS中A表中的列A,列B,列C的数据合并到列A里面?
- 这种效果是如何出现的?桌面禁用只允许操作弹出窗
sum(case when 工资<1000 then 1 else 0 end) as 工资<1000,
sum(case when 工资>=1000 and 工资<2000 then 1 else 0 end) as 工资>=1000,
sum(case when 工资>=2000 and 工资<3000 then 1 else 0 end) as 工资>=2000,
sum(case when 工资>=3000 and 工资<4000 then 1 else 0 end) as 工资>=3000,
sum(case when 工资>=4000 then 1 else 0 end) as 工资>=4000
FROM Data GROUP BY 部门