翼度科技»论坛 编程开发 mysql 查看内容

mysql 批量查询取每一组最新一条数据

9

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
AI回答



需求

根据车牌号查询最新的一条交车记录的‘合同号’ ,与上面需要类似,这里只需要查询‘合同号’这个字段

方式1

直接把需要查询的字段加上contract_no,直接查,不用子查询
  1. SELECT number_plate,id,contract_no, MAX( create_time ) AS latest FROM  
  2.     yl_lease_collect     GROUP BY number_plate ;
复制代码


查询所有数据

发现最新的一条数据并不是上面查询的结果,对比id与contract_no,实际查询到的是最老的一条


结论

对MAX() 函数有误解,这个只是查询某个字段最大的数据,仅针对字段。想要查询最新记录,还是要关联查询。

最终查询
  1. SELECT
  2.     m1.id, m1.contract_no
  3. FROM
  4.     yl_lease_collect m1
  5.     JOIN
  6.     (
  7.     SELECT number_plate, MAX( create_time ) AS latest FROM  
  8.     yl_lease_collect where number_plate in(
  9. '123沪123'
  10.     )
  11.     GROUP BY number_plate
  12.     ) m2
  13.     ON m1.number_plate = m2.number_plate
  14.     AND m1.create_time = m2.latest
  15.     ;
复制代码

到此这篇关于mysql 批量查询取每一组最新一条数据的文章就介绍到这了,更多相关mysql 批量查询最新一条数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://www.jb51.net/database/315216k9g.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具