Mysql 基于上次更新的组的SQL查询

Mysql 基于上次更新的组的SQL查询,mysql,Mysql,我知道使用max有很多问题,但看起来我不知道如何查询 我想根据哈希组查询最后完成的记录 表值: 散列|方法|名称|事件|名称|结束|时间 方法事件2018-07-28 02:16:28 方法2事件2 2018-07-28 02:17:28 方法事件2018-07-28 02:18:28 方法2事件1 2018-07-28 02:18:00 678方法2事件1 2018-07-28 02:20:00 方法事件2018-07-28 02:10:28 方法2事件2 2018-07-28 02:11:2

我知道使用max有很多问题,但看起来我不知道如何查询

我想根据哈希组查询最后完成的记录

表值:

散列|方法|名称|事件|名称|结束|时间

方法事件2018-07-28 02:16:28

方法2事件2 2018-07-28 02:17:28

方法事件2018-07-28 02:18:28

方法2事件1 2018-07-28 02:18:00

678方法2事件1 2018-07-28 02:20:00

方法事件2018-07-28 02:10:28

方法2事件2 2018-07-28 02:11:29

方法事件2018-07-28 02:12:30

方法事件2018-07-28 02:16:30

方法事件2018-07-28 02:15:30

结果:

散列|方法|名称|事件|名称|结束|时间

方法事件2018-07-28 02:16:28

方法2事件2 2018-07-28 02:17:28

方法事件2018-07-28 02:18:28

678方法2事件1 2018-07-28 02:20:00

方法事件2018-07-28 02:16:30

解决了我问题的问题

select * from table_name where hash in (select hash from table_name group by method_name having max(end_time));
你能试试吗

select * from table_name where hash in 
(select hash from table_name group by method_name having max(end_time));

基于上表的值。我想查询下面提到的结果。对不起,我是mysql复杂查询的新手。完成的记录意味着什么?在设置了结束时间的地方添加当前查询及其结果,我假设它是一个已完成的事件。如果没有在执行中发送它。基本上我想要一个特定的方法名称和事件名称组的最后更新记录。除非它出现在其他具有多个事件的哈希组中,否则不应出现重复值。我很好。这很有帮助。我使用具有最大结束时间的方法名称组查询哈希。谢谢查询是按具有MAXend\u time;的方法\u name从表组中选择*?选择*from table_name,其中hash在select hash from table_name组中,方法_name具有maxend_time;为meselect*工作的这一个将为每个组提供一条具有最大结束时间的记录。但我需要满足条件的所有记录。