分组后找出最后一个记录

blob.png

blob.png

nhb2318 发布于 2019-10-2 01:52
1min目标场景问卷 立即参与
回答问题
悬赏:8 F币 4人赏过 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
wangnaiwenLv6见习互助
发布于2019-10-2 11:04(编辑于 2019-10-2 11:29)

select a.编号,a.变动类型 ,a.最后操作时间 借阅时间 from

(

select t1.编号,t1.最后操作时间,t2.变动类型 from 

(select 编号,max(时间) 最后操作时间 from 借阅记录

group by 编号) t1

left join 

(

select 时间,编号,变动类型 from 借阅记录

) t2 on t1.编号=t2.编号 and t1.最后操作时间=t2.时间

 ) a

where a.变动类型 ='借阅'



  • nhb2318 nhb2318(提问者) 如果再把借阅记录表里的经办人字段加上,应该加在哪里?谢谢
    2019-10-02 12:28 
  • nhb2318 nhb2318(提问者) select a.编号,a.变动类型 ,a.最后操作时间 借阅时间,a.经办人 from ( select t1.编号,t1.最后操作时间,t2.变动类型,t2.经办人 from (select 编号,max(时间) 最后操作时间 from 借阅记录 group by 编号) t1 left join ( select 时间,编号,变动类型,经办人 from 借阅记录 ) t2 on t1.编号=t2.编号 and t1.最后操作时间=t2.时间 ) a where a.变动类型 =\'借阅\' 搞定,谢谢
    2019-10-02 12:34 
  • wangnaiwen wangnaiwen 回复 nhb2318(提问者) 嗯额
    2019-10-02 14:55 
最佳回答
0
PoseidonLv5高级互助
发布于2019-10-2 07:07
档案号分组,取每个档案号最大时间的状态不就好了
  • nhb2318 nhb2318(提问者) 你这样的话显示不出状态呀 只会筛选出两条记录005和007,005显示借阅时间为10月3号,007显示借阅时间为1号 而实际上007档案已经归还了,就不应该包括在筛选结果里的
    2019-10-02 08:46 
最佳回答
0
b5184bLv3见习互助
发布于2019-10-2 08:15

两表关联,按档案号分组,取时间最大值,设置过滤条件,变动类型为借阅

  • nhb2318 nhb2318(提问者) 你这样的话显示不出状态呀 只会筛选出两条记录005和007,005显示借阅时间为10月3号,007显示借阅时间为1号 而实际上007档案已经归还了,就不应该包括在筛选结果里的
    2019-10-02 08:46 
最佳回答
0
孤陌Lv6资深互助
发布于2019-10-2 10:17(编辑于 2019-10-2 10:22)

简单点分组 然后 变动类型横向扩展  然后时间取最大值 然后根据时间的大小进行判断 隐藏掉 最大时间已经是归还的 按照我图里的结果 把1的隐藏 就好了


image.png

  • 5关注人数
  • 619浏览人数
  • 最后回答于:2019-10-2 11:29
    请选择关闭问题的原因
    确定 取消
    返回顶部