I haven't done SQL in a long time, but if the TIME column always increments by one (or if you have a column that always increments by 1 chronologically), then you could just search for rows where the name is different than the last:
Code:
SELECT *
FROM table a
WHERE a.TIME != 0 AND a.NAME != (SELECT b.NAME FROM table b WHERE b.TIME = (a.TIME - 1))
DISCLAIMER:
I assume that TIME starts at 0 and increments by 1 for every entry (if it does not, add a column that does this)
I have not tested this
I think this will work but I'm note sure if 'a.TIME - 1' is proper SQL syntax.