Você está fazendo um
GROUP BY
parcial que não funciona da maneira que você espera. Aqui está uma consulta que produz os resultados desejados:SELECT MAX(id) AS MAXID, user_id
FROM `table`
GROUP BY user_id
ORDER BY MAXID DESC
LIMIT 4
O comportamento é explicado aqui :