Я ищу запрос к таблице, чтобы получить последний диалог между отправителем и группой получателей по идентификатору отправителя или идентификатору получателя
У меня есть следующая таблица
CREATE TABLE `messages` (
`message_id` Int( 11 ) AUTO_INCREMENT NOT NULL,
`author_id` Int( 11 ) NOT NULL,
`recipient_id` Int( 11 ) NOT NULL DEFAULT 0,
`message` Text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`date_created` Timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`date_updated` Timestamp NOT NULL ON UPDATE CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
`recipient_read` Int( 11 ) NOT NULL DEFAULT 0,
`attachment` VarChar( 64 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
PRIMARY KEY ( `message_id` ),
CONSTRAINT `message_id` UNIQUE( `message_id` ) )
CHARACTER SET = utf8
COLLATE = utf8_general_ci
ENGINE = InnoDB;
Пример данных:
+------------+-----------+--------------+---------------------------+---------------------+
| message_id | author_id | recipient_id | message | date_created |
+------------+-----------+--------------+---------------------------+---------------------+
| 1 | 1 | 101 | Hey buddy, what's up! | 2019-03-08 11:11:07 |
| 2 | 1 | 101 | Hope all is well? :) | 2019-03-08 11:11:30 |
| 3 | 101 | 1 | Yes, all good thanks | 2019-03-08 11:25:04 |
| 4 | 101 | 1 | Super busy right now.. | 2019-03-08 11:25:16 |
| 5 | 1 | 101 | Same old stuff everyday. | 2019-03-08 11:26:45 |
| 6 | 1 | 101 | Yea I guess so! but lis.. | 2019-03-08 11:27:26 |
| 7 | 1 | 100 | Hey man! hit me up, i've | 2019-03-08 15:43:27 |
| 8 | 5 | 101 | Hola! come sta | 2019-03-08 15:48:13 |
| 10 | 1 | 99 | Niky nejez sam | 2019-03-08 16:06:18 |
| 11 | 101 | 1 | Last message! | 2019-03-08 17:18:44 |
+------------+-----------+--------------+---------------------------+---------------------+
Я ищу запрос последнего сообщения для определенного идентификатора пользователя, и в результате должно быть возвращено последнее сообщение, отправленное или полученное для этого пользователя, для всех пользователей, с которыми он / она разговаривал.
Например, запрос для идентификатора пользователя 1 должен вернуть следующее:
+------------+-----------+--------------+--------------------------+---------------------+
| message_id | author_id | recipient_id | message | date_created |
+------------+-----------+--------------+--------------------------+---------------------+
| 7 | 1 | 100 | Hey man! hit me up, i've | 2019-03-08 15:43:27 |
| 10 | 1 | 99 | Niky nejez sam | 2019-03-08 16:06:18 |
| 11 | 101 | 1 | Last message! | 2019-03-08 17:18:44 |
+------------+-----------+--------------+--------------------------+---------------------+
Я целый день ломал голову, пытаясь понять это и опробовать всевозможные подсистемы.запросы и группировать, но безуспешно.
Может кто-нибудь указать мне в правильном направлении, пожалуйста.