SELECT id, user_id, read_state, text, date, out
FROM Table AS T1
WHERE date = ( SELECT MAX(date) FROM Table Where user_id=T1.user_id )
SELECT T1.id, T1.user_id, T1.text, T1.date
FROM Table1 AS T1 INNER JOIN
( SELECT user_id, MAX(date) AS date FROM Table1 GROUP BY user_id) AS T2
ON T1.user_id=T2.user_id AND T1.date=T2.date