Ten eerste moet u de kolomnaam niet escapen met een enkel aanhalingsteken, omdat het geen letterlijke tekenreeks is.
Ten tweede kunt u subquery's uitvoeren die afzonderlijk de laatste tijd voor elke c_id
ophalen en voeg het weer samen met de originele tabel om de andere kolommen te krijgen.
SELECT a.*
FROM message a
INNER JOIN
(
SELECT c_id, MAX(time) time
FROM message
GROUP BY c_id
) b ON a.c_id = b.c_id AND
a.time = b.time
of
SELECT a.*
FROM message a
WHERE a.time =
(
SELECT MAX(time) time
FROM message b
WHERE a.c_id = b.c_id
)