Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle SQL条件选择查询_Sql_Oracle_Select_Plsql - Fatal编程技术网

Oracle SQL条件选择查询

Oracle SQL条件选择查询,sql,oracle,select,plsql,Sql,Oracle,Select,Plsql,我有这张桌子在下面 uid rid time_type date_time a11 1 2 5/4/2013 00:32:00 (row1) a43 1 1 5/4/2013 00:32:01 (row2) a68 1 1 5/4/2013 00:32:02 (row3) a98 1 2 5/4/2013 00:32:03 (row4)

我有这张桌子在下面

uid    rid   time_type    date_time

a11    1     2            5/4/2013 00:32:00 (row1)
a43    1     1            5/4/2013 00:32:01 (row2)
a68    1     1            5/4/2013 00:32:02 (row3)
a98    1     2            5/4/2013 00:32:03 (row4)
a45    1     2            5/4/2013 00:32:04 (row5)
a94    1     1            5/4/2013 00:32:05 (row6)
a35    1     2            5/4/2013 00:32:07 (row7)
a33    1     2            5/4/2013 00:32:08 (row8)
我是否可以使用普通的select查询来提取数据,使其成为

uid    rid   time_type    date_time

a43    1     1            5/4/2013 00:32:01 (row2)
a98    1     2            5/4/2013 00:32:03 (row4)
a94    1     1            5/4/2013 00:32:05 (row6)
a35    1     2            5/4/2013 00:32:07 (row7)
日期\时间字段按asc顺序排列。逻辑是时间类型“1”需要与同一rid的下一时间类型“2”配对。如果时间类型“1”或“2”出现在按日期时间排序的2个或更多的组中,我将选择较早的一个,忽略其余的

可以这样做吗?

尝试以下查询:

with src as (
  select tst.*,  
         case when time_type <> lag( time_type) over ( partition by rid order by date_time, time_type ) 
            then 1 else 0
         end take_me
  from tst
) 
select * from src where take_me = 1
order by rid, date_time;

这是一个标签为mysql和Oracle的

。你用哪一种?