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的那个字段值是多少, 不能求出哪一行所有数据的值. 

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

1SELECT 2 t1.* 3FROM t_invest_order t1 4INNER JOIN 5( 6 SELECT 7 invest_order_code, 8 MAX(id) AS maxId, 9 id AS anyId 10 FROM t_invest_order 11 WHERE invest_order_code='PC20190429092529981636' 12 GROUP BY invest_order_code 13) t2 ON t1.id=t2.maxId
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

thinkcmf+jsapi 实现微信支付

首先从小程序端接收订单号、金额等参数,然后后台进行统一下单,把微信支付的订单号返回,在把订单号发送给前台,前台拉起支付,返回参数后更改支付状态。。。回调publicfunctionnotify(){$wechatDb::name('wechat')where('status',1)find();

java 商城系统源码分享

目的snowflake是常见的id(编号)生成算法,由时间戳业务id机器id序列号组合而成,在电商系统(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.javamall.com.cn%2F)中,用于订单号的生成、支付单号的生成等等。本发号器主要解决在容器化的部署情

【微电平台】- 高并发实战经验 - 奇葩问题解决之旅

本文介绍电销系统在遇到【客户名单离线打标】问题时,从排查、反复验证到最终解决问题并额外提升50%吞吐的过程,适合所有服务端研发同学,提供生产环遇到一些复杂问题时排查思路及解决方案

Debezium接入Mysql遇到到的Tinyint坑

问题背景:在Debezium做数据初始化的时候,对于一些tinyint字段的值,出现0,1的值的异常。经过源码排查,数据在JDBC上面,读取到的数据是Boolean值。通过排查,原来是MYSQL特有的数据问题,需要在JDBC上面加上关键字,问题解决。JAVA数据类型和MYSQL的数据类型转换,要注意tinyInt类型,且存储长度为1的情

Oracle一张表中实现对一个字段不同值和总值的统计(多个count)

需求:统计WAIT\_ORDER表中的工单总数、未处理工单总数、已完成工单总数、未完成工单总数。表结构:为了举例子方便,WAIT\_ORDER表只有两个字段,分别是ID、STATUS,其中STATUS为工单的状态。1表示未处理,2表示已完成,3表示未完成总数。 SQL:  1.SELECT   2