MySQL 查询版本控制表中存在多个版本记录如何实现只取最大版本号对应记录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL 查询版本控制表中存在多个版本记录如何实现只取最大版本号对应记录相关的知识,希望对你有一定的参考价值。


1、问题

        在一些版本控制表中会存在多个版本的信息如图1,在这个版本控制表中存在3个版本的节假日参数,但是我们在取数据时一般只取最新版本的数据,也就是版本号最大且启用时间已经到的数据。

MySQL

                                                             

2、解决方案-查询实现

        SQL语句:

SELECT ListType, LastVer, ListCnt, VerUseTime, OprDT FROM (SELECT * FROM 版本控制表表名 ORDER BY  ListType,LastVer  DESC) b GROUP BY b.ListType LIMIT 100;

        注:group by 会返回分组内默认的第一条数据 ,因此在分组之前首先根据版本号进行了降序排序后,故最总可以达到取最大版本号的目的。

        查询结果:

        如图2,取出了一张表里存在多个字段名相等的记录里版本最大的记录。

MySQL

微信搜索公众号:chenSir很皮


以上是关于MySQL 查询版本控制表中存在多个版本记录如何实现只取最大版本号对应记录的主要内容,如果未能解决你的问题,请参考以下文章

mysql查询一次在单个查询中在多个表中插入记录

如何使用 MySQL 连接语句选择与链接表中的多个值匹配的记录?

MySQL中如何在关联表中查询出其中一个外键不存在的数据?

分页查询如何避免幻读

如何使用一条mysql语句实现如果查询到的数据不存在就创建

Delta Lake:如何在下一个版本的 delta 表中不携带已删除的记录?