you have multiple people at multiple addresses with the same phone number, and you want to throw most of that information away, and keep only one person at one address, and you're worried that it has to be an actual row from amongst the duplicates?
how many total rows are in your table, and how many duplicates are there?
WITH CTE AS
ROW_NUMBER() OVER (PARTITION BY Phone ORDER BY name, address) as RowNum
WHERE RowNum = 1
aa aaa 123 (1st occurrence of distinct phonenumber instance 123)
ab abc 111 (1st occurrence of distinct phonenumber instance 111)
In a relational database there is no such thing as a "first occurrence of ". You have to explicitly tell the RDBMS how it should order your records. I assumed that it was by (name, address). When there is another column that should be used to order the records, you will have to adjust "ORDER BY name, address)" accordingly.
With kind regards . . . . . SQL Server 2000/2005/2012
Grabel's Law: 2 is not equal to 3 -- not even for very large values of 2. Pat Phelan's Law: 2 very definitely CAN equal 3 -- in at least two programming languages