想不到这么一个语句怎么写

Gunlance 2017-11-28 10:53:32

在同一个member_id下有三条记录,需要取到apply_time为最近时间对应的apply_no,然后以apply_no为条件与其他表连接,如果用max(apply_time)的话,时间能取到最近,但是连表的时候对应的apply_no就变成第一条记录的了。数据不贴上来了,请大家帮忙想想
...全文
84 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2017-11-28
  • 打赏
  • 举报
回复
select * from tb a where not exists( select * from tb b where a.member_id=b.member_id and b.apply_time > a.apply_time)
Gunlance 2017-11-28
  • 打赏
  • 举报
回复
引用 1 楼 zjcxc 的回复:
再 join 一次得到 apply_no
select * from(
select member_id, max(apply_time) as apply_time from tb group by member_id
) a, tb as b 
where a.member=b.member and a. apply_time=b. apply_time
做了一个内连接吗? 我以为有更加简洁的语句的,这个我想了,但是把所有代码写上去就特别长了 很有用
zjcxc 2017-11-28
  • 打赏
  • 举报
回复
再 join 一次得到 apply_no
select * from(
select member_id, max(apply_time) as apply_time from tb group by member_id
) a, tb as b 
where a.member=b.member and a. apply_time=b. apply_time

56,682

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧