如何在Sql Server中通过DOB找到最年轻的员工

时间:2018-02-16 12:54:51

标签: sql-server

第五个最年轻员工的SQL查询是什么?

下面查询错了?请帮忙

SELECT EmpID, EmpName, EMPDOB,
   ORDER BY EMPDOB DESC
WHERE ROWNUMBER = 5
FROM dbo.EMP

2 个答案:

答案 0 :(得分:3)

SELECT * FROM (
  SELECT
    ROW_NUMBER() OVER (ORDER BY EMPDOB ASC) AS rownumber,
    EmpID, EmpName, EMPDOB
  FROM EMPLOYEE
) AS foo
WHERE rownumber = 5

答案 1 :(得分:0)

以下查询将解决您的问题:

SELECT TOP 1 
    T.EmpID
    , T.EmpName
    , T.EMPDOB 
FROM (SELECT TOP 5 * FROM dbo.EMP ORDER BY EMPDOB DESC) AS T

注意:此解决方案假定EMPDOB采用基于日期或整数的格式。