Я пытался сделать это разными способами.
Примечание: нам не нужна агрегатная функция или раздел, поскольку это лишь малая часть всей хранимой процедуры, и это Требуется ли у клиента его отсутствие, поэтому нет возможности и невозможно дублировать другие существующие ответы / вопросы
У меня есть таблица сообщений, в которой есть столбец from
и to
, внешний ключ для пользовательская таблица, в основном которую пользователь отправляет кому по простейшему. У меня также есть другие столбцы, которые isSnoozed и snoozeAt, если сообщение откладывается.
Таким образом, порядок в соответствии с регистром. Если сообщения откладываются, рассмотрите возможность snoozeAt для заказа или, если нет, то рассмотрите sendAt. (сейчас мы можем игнорировать это условие при оформлении заказа, но я упомянул об этом, поскольку мы не можем просто принять MAX(id)
)
Мне нужно получать последние сообщения из группы сообщений от идентификатора пользователя таблица сообщений типа:
id -- to -- from -- isSnoozed -- snoozedAt -- sendAt ...
Что я пробовал:
select * from ( select * from messages order by sendAt DESC) as TEMP GROUP BY TEMP.from
Я пробовал много похожих подходов, но ни один из них не работал. Я потратил много платных часов, но не могу найти подход, который точно соответствует моему требованию
ПРИМЕЧАНИЕ: Пожалуйста, игнорируйте опечатку в запросе, если есть, так как я не могу набрать точную таблицу запросов и имена, Поэтому я набрал прямо здесь