Есть такая таблица
http://prntscr[dot]com/itcugr
Как составить запрос так что б он показал только последние сообщения от и к пользователю с user_id = 44
что б на выходе остались записи с id 8,6,3,2
1. Telnet - 19 Марта, 2018 - 18:25:14 - перейти к сообщению
2. Telnet - 20 Марта, 2018 - 13:02:55 - перейти к сообщению
Я таки сделал не знаю правильно или можно было как то сократить
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- SELECT t1.* FROM userMessage AS t1, userMessage AS t2
- WHERE t1.created IN (SELECT max(t2.created) FROM userMessage AS t2
- WHERE t2.to_user_id = 44 OR t2.from_user_id = 44 GROUP BY t2.to_user_id, t2.from_user_id)
- AND t1.to_user_id IN (SELECT t2.to_user_id FROM userMessage AS t2
- WHERE t2.to_user_id = 44 OR t2.from_user_id = 44 GROUP BY t2.to_user_id, t2.from_user_id)
- AND t1.from_user_id IN (SELECT t2.from_user_id FROM userMessage AS t2
- WHERE t2.to_user_id = 44 OR t2.from_user_id = 44 GROUP BY t2.to_user_id, t2.from_user_id)
- GROUP BY t1.id ORDER BY `t1`.`created` DESC
Если у кого есть идеи как сделать лучше пишите