Sql 如何基于上一个匹配行中的值选择行?

Sql 如何基于上一个匹配行中的值选择行?,sql,greatest-n-per-group,Sql,Greatest N Per Group,假设下表: Action, Action_Timestamp act_b 1 act_a 2 act_x 3 act_b 4 act_c 6 act_b 7 act_c 8 我想了解的是,是否存在这样的动作序列(它们之间有动作): 您能帮我编写SQL查询以获得上面显示的结果吗 p.s.限制在我的RDBMS中不可用您没有说明您的DBMS,因此这是标准SQL: select action,

假设下表:

Action,      Action_Timestamp
act_b        1
act_a        2
act_x        3
act_b        4
act_c        6
act_b        7
act_c        8
我想了解的是,是否存在这样的动作序列(它们之间有动作):

您能帮我编写SQL查询以获得上面显示的结果吗


p.s.限制在我的RDBMS中不可用

您没有说明您的DBMS,因此这是标准SQL:

select action, action_timestamp
from (
  select action, action_timestamp, 
         row_number() over (partition by action order by action_timestamp) as rn
  from the_table
) t
where rn = 1;
你的数据库管理系统是什么?这些“中间”操作是可选的吗?
Action,      Action_Timestamp
act_a        2
act_b        4
act_c        6
select action, action_timestamp
from (
  select action, action_timestamp, 
         row_number() over (partition by action order by action_timestamp) as rn
  from the_table
) t
where rn = 1;