繁体   English   中英

如果在 SQL 中不是第一行,则选择第二行(如果可用)

[英]Selecting Second row if available if not first in SQL

我有一张如下所示的表格:

在此处输入图片说明

我想选择与 InstanceNumber 1 的 RowNumber 2 和其他实例的 rownumber 1 相对应的运算符条目。 这是一个示例,其中只有 instancenumber 1 有两个 rownumber,但我希望能够选择每个实例的最后一个 rownumber。 任何帮助表示赞赏。

一种方法使用窗口函数:

select t.*
from (select t.*, max(rownumber) over (partition by instancenumber) as maxrn
      from t
     ) t
where rownumber = maxrn;

也就是说,如果你有正确的索引,下面的可能会快一点:

select t.*
from t
where t.rownumber = (select max(t2.rownumber) from t t2 where t2.instancenumber = t.instancenumber);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM