Du kan också skriva det som Andrey skrev något mer kompakt om du väljer TOP (1) WITH TIES och lägger ROW_NUMBER()-uttrycket i ORDER BY-satsen:
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
)
(Förresten, det finns ingen anledning att använda LIKE för en enkel strängjämförelse.)