oracle查询近3年的数据

统计近3年人数总和

select b.myear,a.org_name orgName,count(a.party_org_id)
		memberCount from
		(select m.* from
		(select
		org.party_org_id,org.org_name,org.last_org,poor.in_poortime,poor.out_poortime
		from pb_party_org org,pb_party_member pm,pb_poor_member poor,user cur
		where
		poor.party_member_id=cur.user_id
        and cur.user_code=pm.id_number
        and pm.party_org_id=org.party_org_id) m) a,
		(select to_number(to_char(sysdate,'yyyy')) myear
		from dual
		union
		select to_number(to_char(sysdate,'yyyy'))-1 myear from
		dual
		union
		select to_number(to_char(sysdate,'yyyy'))-2 myear from dual)
		b where b.myear>=substr(a.in_poortime,'1','4') and
		b.myear<=nvl(substr(a.out_poortime,'1','4'),to_char(sysdate,'yyyy'))
		group by b.myear,a.org_name
		order by b.myear desc

猜你喜欢

转载自blog.csdn.net/qq_35029061/article/details/82794726