概述:
最近项目一个查询需求是从一个表中同一个IP多条记录的只获取一条IP记录,而这条IP记录要最新的。很明显需求没什么难,分组当然想到的是group by,但是这里是有个时间条件筛选的。虽然网上很多答案,但是我发现实际操作上是没有生效的,不知道是MYSQL版本问题还是答主们只是理论而没有实际尝试过,这里分享一下我的处理方式。
准备:
1、首先看我准备了同一个IP两条数据,时间不一样的。
2、然后我们尝试一下,直接group by 获得的是哪一条数据。
3、从上图可知,分组是实现了,但是并不是自己想要的最新时间的那条记录。到此,如果你尝试从网上搜索具体的解决方法,你会发现大多数答主会告诉你,对group by 的表先进行时间排序作为子查询提供给group by 就能解决。