查询每个计划中的最新序列

falq053o  于 2021-07-24  发布在  Java
关注(0)|答案(2)|浏览(293)

我有一个表,它可能包含每个计划的多个序列。我想从每个序列输出一个(最新的)记录。下面是该表的一个示例,以及我要查找的输出:
表格示例:

预期产量:

表名是dataschedule-您能告诉我如何最好地编写sql查询来获取此数据吗?谢谢您!

e3bfsja2

e3bfsja21#

嗯。如果需要最新序列,可以使用相关子查询:

select t.*
from t
where t.sequence = (select max(t2.sequence)
                    from t t2
                    where t2.schedule = t.schedule and t2.id = t.id
                   );

在大多数数据库中,这在索引为 (id, schedule, sequence) .

57hvy0tb

57hvy0tb2#

请尝试这个,我还没有测试它,因为您无法提供插入和创建表脚本。只需用表名替换表名。

select table_name.*
from table_name, (select ID,schedule,max(sequence) from table_name group by ID,schedule) a
where 
table_name.ID = a.ID and 
table_name.schedule = a.schedule ;

相关问题