У меня есть почтовый ящик сообщений для моих пользователей, у меня есть таблица «сообщений» и таблица «пользователей». Таблица сообщений содержит to
и from
поля, содержащие идентификаторы пользователей.SQL для сообщений inbox
Я хочу, чтобы выбрать самое последнее сообщение от каждого пользователя, где to
поле является текущим идентификатором пользователя, т.е.
«выберите (последнее сообщение, по Message.ID) из (уникальных пользователей), где Message.to = $ currentUserID (и слева присоединиться к Пользователю, где UserID = Message.from)»
Я хочу, чтобы в конечном итоге с чем-то вроде этого:
http://www.innerfence.com/blog/wp-content/uploads/screenshot-iphone-inbox-thumb.png
Я не могу понять, запрос мне нужно дляэто, пожалуйста, помогите ..!
Это классический вопрос в SQL, называемый «наибольший n на группу». Ваш пример - самый простой случай - «наибольший 1 по группе». Прочтите http://stackoverflow.com/questions/121387/fetch-the-row-which-has-the-max-value-for-a-column и посмотрите, сможете ли вы его решить, если нет, разместите свои проблемы, и мы Помогите. – Konerak
Интересно, благодаря @Konerak я посмотрю, что я могу сделать:. \ – Tim
Я пошел, насколько я понимаю, 'SELECT для сообщения * \t \t \t \t \t \t ОТ сообщения t1 \t \t \t \t \t \t LEFT OUTER РЕГИСТРИРУЙТЕСЬ пользователи t2 \t \t \t \t \t \t \t НА t1.from = t2.id И ((t1. "Дата"
Tim