有如下的表格:

 oracle分组查询最新的一条记录 随笔

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

如上表格,存在stockcode(股票代码),打分人,打分时间,以及分数四个字段,其中股票代码,打分人以及打分时间唯一确定一条打分记录。

现在需要取出一个人,对某个股票最新的一次打分。

第一步:

取出股票代码,打分人以及对应的最新的打分时间:

select stockcode, creator, max(datadate) as datadate
from assessment_records
group by stockcode, creator

然后根据上面取出来的三个要素,唯一确定所有最新的打分记录:

select t.*
  from assessment_records t,
       (select stockcode, creator, max(datadate) as datadate
          from assessment_records
         group by stockcode, creator) temp
 where t.stockcode = temp.stockcode
   and t.creator = temp.creator
   and t.datadate = temp.datadate

完成。

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄