2017-03-22 44 views
0

表A:如何在Oracle查询的结果比表的分钟(值)值

row_id  row_num 
3488  1 
3488  2 
3488  3 
4523  1 
4523  2 
8783  1 
9999  2 
9999  3 
9999  4 

我如何得到我的表的结果,其中ROW_NUM应大于最小值row_num? [例如ROW_NUM>分钟(ROW_NUM)]

预期的结果

row_id  row_num 
3488  2 
3488  3 
4523  2 
9999  3 
9999  4 
+0

你到目前为止试过了什么?你可以发布命令吗? – JanTheGun

回答

1

使用min()超过()

select row_id, row_num 
from (
    select row_id, row_num, min(row_num) over() rm -- probably add partition by row_id 
    from myTable 
) t 
where row_num > rm 
0

使用ROWNUMBER使用分区通过的ROWIDs进行分区,然后得到的rownum> 1

;with cte 
as 
(select row_id,row_num, 
row_number() over (partition by row_id order by row_num) as rownum 
from #temp 
) 
select row_id,row_num from cte where rownum>1 
+0

虽然这段代码可能会回答这个问题,但提供关于如何解决问题和/或为什么解决问题的附加上下文会提高答案的长期价值。 –

+0

@DonaldDuck:代码本身回答,没有太多的解释提供关于这个code.I会养成添加一些解释的习惯 – TheGameiswar

相关问题