Assuming ID is incremented sequentially...
naming a table and column in the table with the same name may cause trouble later...
Select max(n.ID), n.name, max(n.TS)
From Name n
group by n.name
However if ID is not sequential -- and assuming name and ts are UNIQUE...
Select a.id, a.name, a.ts
from name a
inner join (Select n.name, max(n.ts) mts from name n group by n.name) b
on A.Name = B.Name and A.TS = b.mts