+ -
当前位置:首页 → 问答吧 → 急!oracle技巧查询

急!oracle技巧查询

时间:2011-09-05

来源:互联网

已知一张表中有部门(bm),发帖的类型(lx)等字段 我现在想得到  
  部门 类型1一共有多少张帖子,类型2一共有多少张帖子,类型3一共有多少张帖子......


这种格式,请问具体如何实现 谢谢了

作者: lxb_ccit   发布时间: 2011-09-05

SQL code

select bm, count(*) as icount
  from tab
 group by bm;



作者: opps_zhou   发布时间: 2011-09-05

引用 1 楼 opps_zhou 的回复:
SQL code


select bm, count(*) as icount
from tab
group by bm;

你这个只能知道哪个部门一共发了多少贴!还没有细分

作者: lxb_ccit   发布时间: 2011-09-05

引用 2 楼 lxb_ccit 的回复:
引用 1 楼 opps_zhou 的回复:
SQL code


select bm, count(*) as icount
from tab
group by bm;

你这个只能知道哪个部门一共发了多少贴!还没有细分


你自己稍微可以变通一下呀
SQL code

select bm, lx, count(*) as icount
from tab
group by bm, lx;



作者: opps_zhou   发布时间: 2011-09-05

引用 3 楼 opps_zhou 的回复:
引用 2 楼 lxb_ccit 的回复:
引用 1 楼 opps_zhou 的回复:
SQL code


select bm, count(*) as icount
from tab
group by bm;

你这个只能知道哪个部门一共发了多少贴!还没有细分


你自己稍微可以变通一下呀

SQL code


select bm, lx, count(*) ……


这种得出来的格式是  
  部门 类型 数量
  而我想要的是 部门 类型1的数量 类型2的数量 ············

作者: lxb_ccit   发布时间: 2011-09-05

行转列的问题,论坛里一大堆呀

SQL code

select bm, 
       sum(case when lx = 1 then count(*) else 0 end) as "类型1",
       sum(case when lx = 2 then count(*) else 0 end) as "类型2",
       ... ...
       sum(case when lx = N then count(*) else 0 end) as "类型N"
  from tab
 group by bm, lx;




作者: opps_zhou   发布时间: 2011-09-05

学习,学习

作者: zjg635469513   发布时间: 2011-09-05