Sql 基于日期,单个员工有两行以上的行,并且必须查找该员工最近的行

Sql 基于日期,单个员工有两行以上的行,并且必须查找该员工最近的行,sql,date,Sql,Date,根据表中的日期(比如effdate),单个员工有两行以上,我必须为该员工选择最近的一行。请建议一个sql查询 例如,如果一个表包含 斯科特22/12/1980 兰博23/12/1990 产卵25/12/1991 斯科特22/12/2000 兰博1970年12月23日 繁殖25/12/1999 我想要像这样的答案 斯科特22/12/2000 兰博23/12/1990 繁殖于1999年12月25日试试这个 在sql server中 select top 1 * from table order by

根据表中的日期(比如effdate),单个员工有两行以上,我必须为该员工选择最近的一行。请建议一个sql查询 例如,如果一个表包含 斯科特22/12/1980 兰博23/12/1990 产卵25/12/1991 斯科特22/12/2000 兰博1970年12月23日 繁殖25/12/1999

我想要像这样的答案 斯科特22/12/2000 兰博23/12/1990 繁殖于1999年12月25日

试试这个

在sql server中

select top 1 * from table order by emp_date desc
select * from( 
select *,rn=row_number()over(partition by name order by date1 desc) from table
)
where rn=1
在我的sql中

SELECT *
FROM table 
ORDER BY emp_date DESC
LIMIT 1
在甲骨文中

SELECT *
  FROM (SELECT * FROM table ORDER BY  emp_date)
 WHERE ROWNUM = 1;
在看到更新的问题后:

在sql server中

select top 1 * from table order by emp_date desc
select * from( 
select *,rn=row_number()over(partition by name order by date1 desc) from table
)
where rn=1