Я пытаюсь получить последнее сообщение из определенного потока, но, похоже, не может получить правильный запрос. Кажется, я не получаю последнее сообщение из определенного потока.MySQL получить последнее сообщение (VarChar)
Введение
Я использую 3 таблицы - сообщение, message_users, message_threads
Все сообщения принадлежат к определенной теме (вроде как, как форумы и сообщения работают?) Пользователи могут добавлять несколько пользователей к определенному потоку, поэтому несколько пользователей могут сообщать друг другу в том же потоке.
Структура базы данных
messages table
id | t_id | u_id | message | time
--------+---------+--------+-----------+--------
1 | 1 | 1 | hello! | timestamp
2 | 1 | 2 | hi! | timestamp
3 | 2 | 1 | testing | timestamp
message_threads
id | author | subject
------+---------+-----------
1 | 1 | Subject 1
2 | 3 | Subject 2
3 | 2 | Subject 3
message_users
id | t_id | u_id | read | nonotice
------+---------+--------+--------+----------
1 | 1 | 1 | 0 | 0
2 | 1 | 2 | 0 | 0
3 | 2 | 1 | 1 | 0
Запрос
Это запрос, я использую, это почти работает за исключением того, не получает последний идентификатор, ни последнего сообщения, любой идеи? (Да, я смотрел и искал предыдущие вопросы, задаваемые по этому вопросу, но не было в состоянии получить запрос фиксированный на основе ответов как-то)
SELECT
m2.message,
mt.id AS thread_id,
max(m.id) AS message_id,
max(m.time) AS time,
mt.subject
FROM message_users AS mu
LEFT JOIN message_threads AS mt ON mt.id = mu.t_id
LEFT JOIN message AS m ON m.t_id = mt.id
INNER JOIN (
select message as messages_text
from message group by t_id
) AS m2 ON m2.id = m.id
WHERE mu.u_id = 1 AND mu.read = 0 AND mu.nonotice = 0
GROUP BY mt.id
ORDER BY m.id DESC
Спасибо, я попробую это наш момент я получаю домой, я буду обновлять, если оно работает. Просто обновил вопрос с дополнительной информацией о таблице. – user2949138
Удивительно, это работает! Пошел со вторичным решением, так как первая эна дала результат 0,05 секунды, а другая 0,0009, также спасибо за предложение, когда речь заходит об условных обозначениях :) – user2949138