使用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谢谢。草莓这真的帮了大忙。“祝你好运。”尼科哈斯补充道。这够了吗?