找到经验最少的员工的姓名

时间:2013-05-20 06:52:52

标签: sql sql-server

朋友您好我被困在编写一个查询中。 你能帮帮我吗? 我有一个名为prog的表,其中包含doj列。 在name列中,我有所有员工的姓名,在doj列中我有他们的加入日期。 我必须找出经验最少的员工的姓名,所以我写这个查询是为了找到最有经验的员工使用他们的加入日期:

SELECT 
min(DATEDIFF(YEAR,doj,GETDATE()) - 
(CASE WHEN 
 DATEADD(YY,DATEDIFF(YEAR,doj,GETDATE()),doj) > GETDATE()
 THEN 1
 ELSE 0 END)) AS 'least experience'
FROM programmer

我无法找到员工的name。 如果我将name列与group by一起使用,我会列出所有员工的姓名和年份。 我怎样才能找到那个经验最少的特定员工的名字。 提前致谢并等待回复。

1 个答案:

答案 0 :(得分:7)

这将选择具有最新开始日期的程序员。

Select top 1 name, doj 
from programmer
order by doj desc