Max date per id:
Code:
SELECT id
, Max(activity_date)
FROM your_table
GROUP
BY id
Join back to self to get status_code
Code:
SELECT a.id
, a.status_code
, a.activity_date
FROM your_table As a
INNER
JOIN (
SELECT id
, Max(activity_date) As b.max_activity_date
FROM your_table
GROUP
BY id
) As b
ON b.id = a.id
AND b.max_activity_date = a.activity_date
Final where clause:
Code:
SELECT a.id
, a.status_code
, a.activity_date
FROM your_table As a
INNER
JOIN (
SELECT id
, Max(activity_date) As b.max_activity_date
FROM your_table
GROUP
BY id
) As b
ON b.id = a.id
AND b.max_activity_date = a.activity_date
WHERE a.status_code = 'N'