GROUP BY 条件查询最新时间记录

在MySQL中,面对需求从同一IP的多条记录中获取最新时间的记录时,单纯使用GROUP BY无法满足条件。文章通过实例展示了如何通过先找出每个IP的最大时间,再以此作为条件进行查询,从而正确获取最新时间的记录。文中还提到,某些网上的解决方案可能因版本差异或未充分测试而不奏效,并鼓励读者批判性思考和改进。
摘要由CSDN通过智能技术生成

概述:

最近项目一个查询需求是从一个表中同一个IP多条记录的只获取一条IP记录,而这条IP记录要最新的。很明显需求没什么难,分组当然想到的是group by,但是这里是有个时间条件筛选的。虽然网上很多答案,但是我发现实际操作上是没有生效的,不知道是MYSQL版本问题还是答主们只是理论而没有实际尝试过,这里分享一下我的处理方式。

准备:

1、首先看我准备了同一个IP两条数据,时间不一样的。
这里写图片描述
2、然后我们尝试一下,直接group by 获得的是哪一条数据。
这里写图片描述
3、从上图可知,分组是实现了,但是并不是自己想要的最新时间的那条记录。到此,如果你尝试从网上搜索具体的解决方法,你会发现大多数答主会告诉你,对group by 的表先进行时间排序作为子查询提供给group by 就能解决。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值