根据日期为单个员工提供两行以上,并且必须查找该员工的最新行

时间:2014-03-19 06:35:47

标签: sql date

根据表中的日期(例如effdate),单个员工的行数超过两行,我必须选择该员工的最新行。请建议一个SQL查询 例如,如果表包含 斯科特22/12/1980 兰博23/12/1990 产卵25/12/1991 斯科特22/12/2000 兰博23/12/1970 产卵25/12/1999

我希望得到答案 斯科特22/12/2000 兰博23/12/1990 Spawn 25/12/1999

1 个答案:

答案 0 :(得分:1)

试试这个!

在sql-server

select top 1 * from table order by emp_date desc

在my-sql中

SELECT *
FROM table 
ORDER BY emp_date DESC
LIMIT 1

在oracle中

SELECT *
  FROM (SELECT * FROM table ORDER BY  emp_date)
 WHERE ROWNUM = 1;

看到更新后的问题:

在sql-server

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