oracle 算 前7天 按每一天 每一类 分类电器从高到低排名

91 阅读1分钟

select 
rank() over (partition by b.C_EEGRPID,RECORDDATE order by b.EEKWH desc) as rank,
b.METERNO,
b.EEKWH,
b.C_EEGRPID,
b.C_EEGRPNAME,
b.RECORDDATE
from (
		select 
		sum(a.EEKWH) as EEKWH,
		d.METERNO,
		c.C_EEGRPID,
		g.C_EEGRPNAME,
		a.RECORDDATE

		from 
		QX_SGMTUSR_DTL a
		left join V_USING_TOPO b on a.DISTRICTBCDID=b.DISTRICTBCDID and a.ADDRESSID=b.ADDRESSID and a.CHANNELID=b.CHANNELID
		left join T_EECLASSIFICATION c on a.EEID=c.EEID
		left join T_EECLASSIFICATIONGRP g on c.C_EEGRPID=g.C_EEGRPID
		left join U_APPUSER d on b.METERNO=d.METERNO 
		where a.RECORDDATE  >= 200818
		and a.RECORDDATE < 200825
		and d.METERNO is not null
		and c.C_EEGRPID in (2,4,5)
		GROUP BY d.METERNO,a.RECORDDATE,c.C_EEGRPID,g.C_EEGRPNAME
		ORDER BY a.RECORDDATE 
) b