我有一个表,它可能包含每个计划的多个序列。我想从每个序列输出一个(最新的)记录。下面是该表的一个示例,以及我要查找的输出:表格示例:预期产量:表名是dataschedule-您能告诉我如何最好地编写sql查询来获取此数据吗?谢谢您!
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) .
(id, schedule, sequence)
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 ;
2条答案
按热度按时间e3bfsja21#
嗯。如果需要最新序列,可以使用相关子查询:
在大多数数据库中,这在索引为
(id, schedule, sequence)
.57hvy0tb2#
请尝试这个,我还没有测试它,因为您无法提供插入和创建表脚本。只需用表名替换表名。