【发布时间】:2016-04-25 19:47:27
【问题描述】:
我正在尝试确定在最近部门有记录的员工的最短生效日期(请参阅下面的数据)。我期待 2014 年 8 月 25 日的结果,但希望您的专家能提供一些帮助,帮助您解决问题。在同一数据中,该员工在部门 70260 工作了一段时间,然后短暂调到 70210,然后又回到 70260。生效日期 2014 年 8 月 25 日是该员工回来的日期,我'想看看是否有任何创造性的方法来编写 SQL 以显示某人在他们最近的部门中的最短日期。提前谢谢!!!
╔═══════════╦════════════╦════════╗
║ EMPLID ║ EFFDT ║ DEPTID ║
╠═══════════╬════════════╬════════╣
║ 000123338 ║ 10/25/2015 ║ 70260 ║
║ 000123338 ║ 4/2/2015 ║ 70260 ║
║ 000123338 ║ 2/24/2015 ║ 70260 ║
║ 000123338 ║ 11/1/2014 ║ 70260 ║
║ 000123338 ║ 8/25/2014 ║ 70260 ║ <--- I need the SQL to show 8/25/2014
║ 000123338 ║ 4/27/2014 ║ 70210 ║
║ 000123338 ║ 3/16/2014 ║ 70210 ║
║ 000123338 ║ 3/6/2014 ║ 70260 ║
║ 000123338 ║ 11/1/2013 ║ 70260 ║
║ 000123338 ║ 1/24/2013 ║ 70260 ║
║ 000123338 ║ 1/1/2013 ║ 70260 ║
║ 000123338 ║ 11/1/2012 ║ 70260 ║
║ 000123338 ║ 11/1/2011 ║ 70260 ║
║ 000123338 ║ 8/1/2010 ║ 70260 ║
║ 000123338 ║ 8/5/2009 ║ 70260 ║
║ 000123338 ║ 7/1/2009 ║ 70260 ║
║ 000123338 ║ 7/7/2008 ║ 70260 ║
║ 000123338 ║ 5/5/2008 ║ 70260 ║
║ 000123338 ║ 1/1/2008 ║ 70260 ║
║ 000123338 ║ 10/29/2007 ║ 70260 ║
╚═══════════╩════════════╩════════╝
【问题讨论】:
标签: sql oracle oracle11g greatest-n-per-group