我有一个员工表,上面有诸如 enva_id、 名字、 姓氏、 地区名称、 身份和有效日期等栏目。
雇员表可列出同一雇员的多个条目,该雇员的有效日期和地位不同。
雇员可拥有两个身份保留者和加入者。
id emp_id firstname region status effective_date
1 1 James Asia Joiner 1-Jan-2012
2 1 James UK Leaver 1-Aug-2012
3 1 James USA Joiner 1-Aug-2012
4 1 James Asia Leaver 1-May-2012
5 1 James UK Joiner 1-May-2012
6 1 James USA Leaver 1-Sep-2012
根据雇员表中的上述数据,如果我想获得截至2012年1月1日的James的最新记录,我会得到ID=1的记录。
如果我想获得2012年5月1日的果酱最新记录, 我会得到ID=5的记录
如果我想获得2012年8月1日的果酱最新记录 我会拿到ID=3的记录
如果我想获得2012年9月1日的果酱最新记录,
以下查询正确后给我最新记录
SELECT
emp_id,
MAX(effective_date) AS latest_effective_date
FROM
EMPLOYEE
GROUP BY
emp_id
但是,我如何得到其他列,如名、区域等。
如果我把它们按条款放入选择条款或组内, 我不仅得到最新的记录, 还有其他的记录。