欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

oracle 查询示例-统计 博客分类: DB-Oracle  

程序员文章站 2024-03-16 12:12:40
...

一、按订单类型统计8月份内,各种类型订单的创建的数量、完成的数量。

--按订单类型统计8月份内,各种类型订单的创建的数量、完成的数量
select t.TYPEID,sum(t.create_num1) AS create_num,sum(t.create_done_num) AS create_done_num 
--t.create_num1:此处引用的列名称以第一个查询的列名为准
from (
	select two.TYPEID,count(two.WORKORDERID) AS create_num1,0 AS create_done_num from t_workorder two 
	 where two.CREATETIME >= to_date('2017-08','yyyy-MM') 
	 	AND two.CREATETIME < add_months(to_date('2017-08','yyyy-MM'),1)
	group BY two.TYPEID
	--单独执行结果:
	--111105460,3,0
	--111155044,1,0
  union all
	select two.TYPEID,0 AS create_num2,count(two.WORKORDERID) AS create_done_num from t_workorder two 
	 where two.CREATETIME >= to_date('2017-08','yyyy-MM') 
	 	AND two.CREATETIME < add_months(to_date('2017-08','yyyy-MM'),1) 
	 	AND two.STATE = 10
	group BY two.TYPEID
	--单独执行结果:
	--111105460,0,2
--union all结果:
--111105460,3,0
--111155044,1,0
--111105460,0,2
) t
group by t.TYPEID;
--group结果:
--111105460,3,2
--111155044,1,0