取出最新的某一字段重复的记录的SQL

数据库中显示的数据为:

 

先描述一下,id为自动增长列

 

我想取出resid相同的最新插入的那条记录,也就是说我需要显示的结果应该是:

 

可以通过这个SQL来实现:

 

1.SELECT resid,max(id) id FROM  T_PM_MaterialInOutDetail d
WHERE changedate <='2009-04-01'  group by resid

这部分SQL是按resid字段分组,把重复的先去掉,因为id是自动增加列,所以可以按照最大的ID一定是最新的记录来取出最新的ID和resid来。

 

2.select od.id,od.changedate,od.resid,od.num,od.price from T_PM_MaterialInOutDetail od where
exists (
    select * from (
        SELECT resid,max(id) id FROM  T_PM_MaterialInOutDetail d
        WHERE changedate <='2009-04-01'  group by resid
    ) inn where inn.id=od.id
) order by id desc

将两部分SQL按照exists关联起来。。用id来关联,取出想要的全部字段。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值