我有一个我正在使用的大型数据集。但是为了简化,让说我有一个这样的数据集:只选择第二个记录
Name | Age | Hire_Date | Manager
---------------------------------------
Bob | 24 | 01/01/2016 | Mark
Sue | 31 | 01/01/2014 | Fred
Mark | 37 | 01/01/2011 | Dawn <----
Mark | 37 | 01/01/2011 | Cindy <----
Jean | 29 | 01/01/2015 | Larry
Arron | 47 | 01/01/2004 | Todd
我已经把旁边的箭头第3和第4行显示什么我需要隔离。注意马克的经理是如何从黎明变成辛迪的。我想选择这个数据集,但只选择对应于Mark的两个记录中的一个。我想选择第二,经理是辛迪。
我的数据集非常大,这种情况只发生几次,其中有两条记录像上面那样,只需要选择第二条记录。在Oracle中是否有办法做到这一点,并且仅在示例情况中选择两条记录中的第二条记录,并且包含其他常规记录?
是什么让第3行成为“第一”记录,第4行是第二个记录?其他栏目没有任何区别它们的地方。您的数据中是否还有其他内容(您没有显示)?或者它是一个随机的选择,挑选两者中的任何一个? (不,我不能“注意马克的经纪人是如何从黎明变成辛迪的 - 根据你所展示的数据,它也可以从辛迪变成黎明。) – mathguy
@mathguy,这两个记录正好是除了第一笔记录中的经理姓名是Dawn,第二笔记录中的经理姓名是Cindy。经理姓名区分他们。这不是一个随机的选择。第二张唱片是最新的,所以我会把它放在第一张。换句话说,辛迪很好,黎明不好。非常直截了当。 – Zolt
堆组织表中的行本质上是无序的。没有'ORDER BY'子句的情况下,没有第一行或第二行这样的事情。但似乎没有什么东西可以用来命令结果说Cindy排在Dawn排之后。如果是这样的话,这个问题就不能一般回答。 –