Oracle SQL遍历列以查找组中的以下值

时间:2013-05-31 06:06:23

标签: sql oracle

我编写了一个程序来获取如下所示的数据,这意味着ID为1的用户遍历a-> b-> c-> d-> e-> g-> b-> ; f。我想在访问页面d后选择用户访问页面b的ID,这种情况足以满足ID 1.由于我的页面很长,我一直在寻找一个解决方案,其中“字符串太长”错误不会出现 在如下数据中:

ID    Value
1     a
1     b
1     c
1     d
1     e
1     g
1     b
1     f
2     b
2     c
2     d
2     g

输出:

ID 1

任何人都可以帮我一个sql查询。

1 个答案:

答案 0 :(得分:0)

我假设您的数据有一个createdat日期用于订购目的(增量ID也可以)。以下查询表达了您的需求:

select distinct id
from t
where value = 'b' and
      exists (select 1
              from t t2
              where t2.id = t.id and t2.value = 'd' and t2.createdat < t.createdat
             )