Я хочу заказать последние сообщения с каждым пользователем, который пользователь задал из таблицы архивов ejabberd.Получить самую новую запись из каждой группы
Поля, которые я использую в этих
- идентификатор (идентификатор сообщения)
- имя пользователя (имя пользователя копия)
- bare_peer (пользователь, который общается с)
- TXT (текстовый чат)
- created_at (время создан)
Что я tryi ng для достижения чего-то подобного, но мне нужно сгруппировать сообщение bare_peer
с именем пользователя 1_usernode
, но только последние сообщения. Я уже тестировал много запросов, но никто из них не работал. Это первый запрос, который я пробовал.
SELECT id, username, bare_peer, txt FROM archive where
username = '1_usernode' GROUP BY bare_peer ORDER BY created_at DESC;
И это выход.
+------+------------+-------------------------------------------------------+---------------------+
| id | username | bare_peer | txt | created_at |
+------+------------+------------------------+------------------------------+---------------------+
| 1095 | 1_usernode | [email protected] | Hello !!! | 2016-07-17 21:15:17 |
| 1034 | 1_usernode | [email protected] | hey sup ? | 2016-07-13 22:40:29 |
| 1107 | 1_usernode | [email protected] | oi | 2016-07-18 00:09:28 |
| 1078 | 1_usernode | [email protected] | Hello this is just a Test!!! | 2016-07-15 16:30:50 |
| 1101 | 1_usernode | [email protected] | hey | 2016-07-18 00:05:55 |
| 1084 | 1_usernode | [email protected] | Hey how are you? | 2016-07-15 19:36:44 |
| 1085 | 1_usernode | [email protected] | Hey how are you doing ? | 2016-07-17 19:20:00 |
Является ли ваш столбец created_at в качестве типа данных datetime? –
Поскольку все 'bare_peer' в вашем образце вывода уникальны, похоже, что он правильно выполнил ваш запрос. Вы имели в виду группу по имени пользователя? – Sablefoste
Это поможет, если вы указали входные данные и ожидаемый результат. Может быть, создать скрипт sql – PaulF