您的位置:首页 > 其它

最后一次一写法

2015-01-27 18:08 288 查看
最后一次可以max来取
如果max取不到
可以用row_number
写法
select a.spid,a.spbh,a.spmch,a.shpgg,a.dw,a.shpchd,a.jixing,count(b.spid) as tiaosh,
sum(b.chkshl) as shl,sum(case when b.bm='终端部' then b.chkshl else 0 end) as '终端销量',sum(case when b.bm='医院部' then b.chkshl else 0 end) as '医院销量',c.hshj as '最近进价',c.dwmch as '最近来货单位'
from spkfk a,spls_ck b,(select a.rq,a.spid,a.hshj,c.dwmch,row_number() over (PARTITION BY a.spid order by a.rq desc) row from jh_rkmx a,jh_rkhz b,mchk c  where a.djbh=b.djbh and c.dwbh=b.dwbh and a.rq <=:e_rq group by a.spid,a.hshj,c.dwmch,a.rq
) c
where a.spid=b.spid
and b.djbh like 'xs%'
and a.spid=c.spid
and c.row=1
and b.rq >=:s_rq
and b.rq <=:e_rq
group by a.spid,a.spbh,a.spmch,a.shpgg,a.dw,a.shpchd,a.jixing,c.hshj,c.dwmch
order by a.spbh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 时空