You’re using a SELECT * which is pulling in all records. If you want to use a true DISTINCT only list out the column you want to receive distinct values of. If you have multiple columns then all those columns combined make up one distinct record.
SELECT distinct TOP 10 personID
FROM TableA
Note that without an ORDER BY this will return the first 10 records in no particular order. The results could be different each time you run the query.