Jak zdobyć najnowszy rekord pracownika w wyroczni?

Mam tabelę pracowników z kolumnami, takimi jak emp_id, firstname, last_name, region_id, status i efficient_date.

Tabela pracowników może zawierać wiele wpisów dla tego samego pracownika o różnych datach i statusach.

Pracownik może mieć dwa statusy „Leaver” i „Joiner”.

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

Z powyższymi danymi w tabeli pracowników, Jeśli chcę uzyskać najnowszy rekord Jamesa z 1 stycznia 2012 r., Dostanę rekord o identyfikatorze = 1,

Jeśli chcę uzyskać najnowszą płytę Jamesa, jak 1 maja 2012 r., Dostanę płytę o identyfikatorze = 5

Jeśli chcę uzyskać najnowszą płytę Jamesa z 1 sierpnia 2012 r., Dostanę płytę o identyfikatorze = 3,

Jeśli chcę uzyskać najnowszą płytę Jamesa, jak 1 września 2012 r., Dostanę rekord o identyfikatorze = 6

Następujące zapytanie poprawnie daje mi najnowszy rekord

SELECT 
        emp_id, 
        MAX(effective_date) AS latest_effective_date
FROM 
        EMPLOYEE
GROUP BY 
        emp_id

Ale w jaki sposób uzyskać inne kolumny, takie jak imię, region itp.

Jeśli umieściłem je w klauzuli select lub group by, nie otrzymam tylko najnowszego rekordu, ale także innych rekordów.

questionAnswers(5)

yourAnswerToTheQuestion