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
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
使用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
使用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
虽然这段代码可能会回答这个问题,但提供关于如何解决问题和/或为什么解决问题的附加上下文会提高答案的长期价值。 –
@DonaldDuck:代码本身回答,没有太多的解释提供关于这个code.I会养成添加一些解释的习惯 – TheGameiswar
你到目前为止试过了什么?你可以发布命令吗? – JanTheGun