我的表格中有数据,例如代码指定代码和促销日期,我想在某个特定日期获得员工的指定。例如。
EmpCode DesignationCode PromotionDate 101 50 2010-01-25 101 10 2014-01-01 101 11 2015-01-01 102 10 2009-10-01 103 15 2015-01-01
现在如果在2014-02-01检查指定的话,应该如下结果
EmpCode DesignationCode PromotionDate 101 10 2014-01-01 102 10 2009-10-01
任何人都可以告诉我应该写什么查询吗?
先谢谢。
答案 0 :(得分:1)
您可以尝试:
CryptographicException
该查询首先过滤掉过去给定日期SELECT DISTINCT ON (EmpCode) EmpCode, DesignationCode, PromotionDate
FROM mytable
WHERE PromotionDate <= '2014-02-01'
ORDER BY EmpCode, PromotionDate DESC
的任何记录,即PromotionDate
。
使用DISTINCT ON
'2014-02-01'
,每(EmpCode)
行获得一行。这是具有最新EmpCode
的{{1}}(通过在PromotionDate
子句中放置PromotionDate DESC
来实现。)