Vous pouvez également écrire ce qu'Andrey a écrit de manière un peu plus compacte si vous sélectionnez TOP (1) WITH TIES et placez l'expression ROW_NUMBER() dans la clause ORDER BY :
SELECT TOP (1) WITH TIES
CallerFName,
CallerLName,
CallerDOB,
CreatedOn,
PhoneNoteID
FROM [dbo].[PhoneCallNotes]
WHERE CallerLName = 'Public'
ORDER BY ROW_NUMBER() OVER(
PARTITION BY CallerFName, CallerLName, CallerDOB
ORDER BY CreatedOn DESC
)
(Au fait, il n'y a aucune raison d'utiliser LIKE pour une simple comparaison de chaînes.)