У меня проблемы с формированием запроса MySQL, который выполняет следующее действие:
Выберите все идентификаторы потоков из таблицы потоков, упорядочив их по отметке времени (в порядке убывания) самого последнего сообщения (наибольшая отметка времени) с идентификатором потока, равным идентификатору потока каждого потока. Поэтому в основном я хочу пройтись по потокам и заставить MySQL проверить базу данных, скажем, на потоке 0. Затем он проверяет все сообщения, у которых threadID равен 0, и сортирует thread0 на основе наибольшей отметки времени сообщений в thread0. Затем он повторяет это для thread1, thread2 и т. Д. И сортирует их соответственно.
Это вообще возможно? Он предназначен для создания эффекта «системной» форума, когда самая последняя активная тема непрерывно поднимается в верхнюю часть списка, пока тема не исчезнет, а затем опустится до нижней части. Раньше я использовал другую реализацию, где я сохранял метку времени lastActivity в таблице потоков и обновлял ее, когда в поток было отправлено новое сообщение, но этот запрос сделал бы вещи намного более эффективными.
Спасибо большое! Здесь есть две соответствующие таблицы: темы и сообщения. Сообщения имеют поле threadID, в котором хранится идентификатор потока, к которому он принадлежит, а также поле отметки времени. Threads имеет поле threadID, соответствующее идентификатору темы сообщения.