使用GROUPBY从mysql获取最后一个数据

使用GROUPBY从mysql获取最后一个数据,mysql,Mysql,表模式 create table test (id int(10) , stat varchar(20) , regdt datetime); insert into test values (10001,'ON', '2020-06-29 01:00:00'), (10002,'ON', '2020-06-29 02:00:00'), (10003,'ON', '2020-06-29 03:00:00'), (10003,'OFF','2020-06-29 04:00:00'), (1000

表模式

create table test (id int(10) , stat varchar(20) , regdt datetime);

insert into test values
(10001,'ON', '2020-06-29 01:00:00'),
(10002,'ON', '2020-06-29 02:00:00'),
(10003,'ON', '2020-06-29 03:00:00'),
(10003,'OFF','2020-06-29 04:00:00'),
(10004,'ON', '2020-06-29 05:00:00'),
(10004,'OFF','2020-06-29 06:00:00'),
(10004,'ON', '2020-06-29 07:00:00');
我只想在stat列中选择以“ON”结尾的。 所以我想找到以“ON”结尾的id

谢谢

id  stat    regdt
10001   ON  2020-06-29T01:00:00Z
10002   ON  2020-06-29T02:00:00Z
10004   ON  2020-06-29T07:00:00Z
选择测试* 从测试 加入选择id,MAXregdt regdt 从测试 按id最大值分组,使用id,regdt 其中test.stat='ON'; 子查询max_regdt获取每个id的最后日期。获取的值用于从源表的另一个副本检索整行


该查询假设没有具有相同id和regdt的重复行-如果存在,则将返回所有重复行。

有5行stat='ON',ON stat组中有4个唯一的id列。那么,如何获得仅显示3行的要求指定您的MySQL版本。使用MySQL 5.7谢谢。草莓这真的帮了大忙。“祝你好运。”尼科哈斯补充道。这够了吗?