MySQL分组并取每组中create_time字段的最大值, 及这条记录的所有值(理解groupId, 很容易误导)

invest_order_code 排查单号

求获取排查单号相同数大于1的排查单号

SELECT invest_order_code FROM t_invest_order GROUP BY invest_order_code HAVING COUNT(invest_order_code)>1

 

求排查单未PC20190429092529981636,且id最大的那个id

错误写法: 

SELECT invest_order_code,MAX(id),id FROM t_invest_order WHERE invest_order_code='PC20190429092529981636' GROUP BY invest_order_code

 

 

 注意: 会发现两个id不一样, 也就是说,这种写法只能求出每组数据中最大id的那个字段值是多少, 不能求出哪一行所有数据的值. 

 

 

如果求那行所有数据的值, 需要进行手动关联查询

复制代码
SELECT 
    t1.*
FROM t_invest_order t1
INNER JOIN
(
    SELECT 
        invest_order_code,
        MAX(id) AS maxId,
        id AS anyId
    FROM t_invest_order 
    WHERE invest_order_code='PC20190429092529981636' 
    GROUP BY invest_order_code
) t2 ON t1.id=t2.maxId
复制代码

 

posted @   Peter.Jones  阅读(469)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
历史上的今天:
2018-09-27 MySQL语法之变量-查询结果设置新的序列号
点击右上角即可分享
微信分享提示