mysql has a "cheat" for this:
select *
from mytable
group by cid;
That's all you need, because in mysql it allows you to not aggregate the non-grouped-by columns (other databases would throw a syntax error), in which case it outputs only the first occurrence of each group-by value(s). Note though that this won't guarantee the way in which the "first" occurrence is determined (it will be just how the rows are read in)
If you want a particular first occurrence, sort first, then apply the group-by cheat:
select *
from (
-- order by the "time" column descending to get the "most recent" row
select * from mytable order by time desc
) x
group by cid
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…