Hier ist die Abfrage, nach der Sie suchen:
SELECT A.lead_id
,MAX(A.app_id) AS [last_app_id]
FROM appointment A
GROUP BY A.lead_id
Wenn Sie möchten, dass alle Spalten diesen erwarteten Zeilen entsprechen:
SELECT A.*
FROM appointment A
INNER JOIN (SELECT A2.lead_id
,MAX(A2.app_id) AS [last_app_id]
FROM appointment A2
GROUP BY A2.lead_id) M ON M.lead_id = A.lead_id
AND M.last_app_id = A.app_id
ORDER BY A.lead_id
Hier verwende ich einfach die vorherige Abfrage für eine Verbindung, um nur die gewünschten Zeilen zu erhalten.
Ich hoffe, das wird Ihnen helfen.