在oracle下,有这样一张表名称 类别 品种 入库时间
A 新库 1,2,3 2010-01-01
A 新库 1,4 2010-01-02
B 原库 1,2,4 2010-01-02
C 原库 1,3,4 2010-01-03
B 新库 1 2010-01-04
这张表 如何查询才能得到某个时间段内(查询条件)新库入库了几次A部件几次B部件(有几种部件就全部统计直到没有为止)并分组统计 以及分到原库中的零件次数,最后显示如下名称 类别 入库次数
A 新库 2
B 新库 1
C 新库 XX(如果原表中有这个记录的话,查询分组直到新库中没有新零件为止)
ALL 原库 2(这个是统计原库所有零件入库次数,不用计较到底入库了哪几个零件,就用ALL代表所有,只用一条记录表示总的)
A 新库 1,2,3 2010-01-01
A 新库 1,4 2010-01-02
B 原库 1,2,4 2010-01-02
C 原库 1,3,4 2010-01-03
B 新库 1 2010-01-04
这张表 如何查询才能得到某个时间段内(查询条件)新库入库了几次A部件几次B部件(有几种部件就全部统计直到没有为止)并分组统计 以及分到原库中的零件次数,最后显示如下名称 类别 入库次数
A 新库 2
B 新库 1
C 新库 XX(如果原表中有这个记录的话,查询分组直到新库中没有新零件为止)
ALL 原库 2(这个是统计原库所有零件入库次数,不用计较到底入库了哪几个零件,就用ALL代表所有,只用一条记录表示总的)
union all
select 'ALL',类别,count(*) from 表 where 类别='原库' group by 名称,类别
from 这样一张表
group by decode(类别,'原库','ALL',名称),类别
select 名称,类别,count(*) "入库次数" from 表 where 类别='新库' group by 名称,类别
union all
select 'ALL' "名称",类别,count(*) from 表 where 类别='原库';
http://blog.csdn.net/huangyunzeng2008/archive/2010/01/11/5172500.aspx