Просмотр темы
Помогите написать запрос
|
|
spocher102 |
Опубликовано 17.05.2016 08:48
|
Начинающий Сообщений: 16 Зарегистрирован: 22.01.2016 15:28 |
Это таблица сообщений: Требуется получить idm для пользователя с id=2, при таких условиях: - последнее сообщение по времени, между двумя пользователями. т.е. на выходе должны получиться idm со значениями 11,10,9,8,7 сейчас пока додумал только такой запрос: SELECT idm, time FROM message WHERE idfrom="2" OR idto="2" GROUP BY idfrom,idto ORDER BY 2 но он выдает idm со значениями 11,9,8,5,4,1. То есть в результат попадают idm, которые идут первые по счету в таблице, и поля с (idfrom=2, idto=3) он воспринимает отдельно от (idfrom=3, idto=2). Как выполнить запрос, что бы получить заданные первоначально условия? |
|
|
Rush |
Опубликовано 17.05.2016 12:16
|
Администратор Разработчики Группа поддержки Сообщений: 1418 Зарегистрирован: 31.08.2010 14:41 |
SELECT idm, time FROM messages WHERE idfrom=2 OR idto=2 GROUP BY idfrom, idto ORDER BY time DESC http://joxi.ru/Gr... Изменил(а) Rush, 17.05.2016 12:34 |
|
|
spocher102 |
Опубликовано 17.05.2016 13:09
|
Начинающий Сообщений: 16 Зарегистрирован: 22.01.2016 15:28 |
Rush написал: SELECT idm, time FROM messages WHERE idfrom=2 OR idto=2 GROUP BY idfrom, idto ORDER BY time DESC http://joxi.ru/Gr... Так то же самое выдает, пришел к решению вопроса через следующий код: $sql ='SELECT DISTINCT idfrom as dfg,idto as dfg FROM message WHERE (idfrom="'.$_SESSION['id'].'" OR idto="'.$_SESSION['id'].'") ORDER BY idm '; Но, чувствую что можно проще и одним запросом обойтись, помогите плиз |
|
|
Vveb--ws |
Опубликовано 18.05.2016 16:38
|
Опытный пользователь Сообщений: 374 Зарегистрирован: 25.11.2010 14:16 |
я пишу через while когда несколько строк из БД и не думаю лишнее и вообще у тебя это не Фужик. ты не из нашей секты !!!! в нашей секте пишут так: $all = dbquery("SELECT * FROM ".DB_PREFIX."el ORDER BY id DESC LIMIT 0, 50"); if (dbrows($all)) { while ($g=dbarray($all)) { echo $g['title']; // например } } GROUP тут мне кажется не нужен. Изменил(а) Vveb--ws, 18.05.2016 16:46 |
|
Поделиться этой темой | |
Социальные закладки: | |
URL: | |
BBcode: | |
HTML: |
Перейти на форум: |