Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите с запросом

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: кароч тут такое дело...
Еугений
Отправлено: 19 Апреля, 2014 - 18:47:54
Post Id


Частый гость


Покинул форум
Сообщений всего: 176
Дата рег-ции: Апр. 2011  


Помог: 1 раз(а)




Здравствуйте.
Есть таблица mess для хранения сообщений с полями id, i_id, you_id, text, data. i_id - это отправитель, you_id - получатель.
Я хочу сгруппировать id тех людей, кто отправил мне сообщения и пишу запрос
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM mess WHERE  you_id  = {мой_id} GROUP BY i_id

В итоге получаю то что нужно: id тех людей, которые когда то мне отправили сообщения.
В столбце text при группировке почему то записывается текст самого первого входящего сообщения, было бы здорово, если бы там было последнее отправленное мне сообщение.
Как изменить запрос?
(Добавление)
Я хочу сделать как в ВК диалоги, хочу в таблице вывести всех моих собеседников с последними сообщениями, либо исходящими от меня им, либо входящими. Запрос есть, только не могу получить именно последние соо.
(Добавление)
Хм, пожалуй так нельзя. Но можно вытащить максимальные значения id запросом
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT max(id) FROM `mess` WHERE you_id = {мое_id} GROUP BY i_id

и по этим id-шникам вытащить последние соо.
А можно в один запрос объединять?
Ну что то типа:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM mess WHERE id IN(SELECT max(id) FROM mess WHERE you_id = {мое_id} GROUP BY i_id)
Этот запрос не работает.. Тоже выдает почему то первые сообщения

(Отредактировано автором: 19 Апреля, 2014 - 19:45:29)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB