powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Можна ли использовать DESC в ORDER BY
16 сообщений из 16, страница 1 из 1
Можна ли использовать DESC в ORDER BY
    #38983025
Vano34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можна ли так?
Код: sql
1.
SELECT * FROM `mailbox` WHERE user_id = 1 GROUP BY (interlocutor_id) DESC;
...
Рейтинг: 0 / 0
Можна ли использовать DESC в ORDER BY
    #38983059
Vano34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я имею ввиду, ДЕСК дает самые последние записи?
Нет - не дает. Он лишь сортирует уже готовый результат.
...
Рейтинг: 0 / 0
Можна ли использовать DESC в ORDER BY
    #38983071
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"груп бай ... деск"? Это фича версии 6.0?
...
Рейтинг: 0 / 0
Можна ли использовать DESC в ORDER BY
    #38983094
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vano34,

Да, можно. Только скобки не нужны.
...
Рейтинг: 0 / 0
Можна ли использовать DESC в ORDER BY
    #38985170
Vano34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Можно то да), но к сожалению оно не дает мне самые последние записи :(
...
Рейтинг: 0 / 0
Можна ли использовать DESC в ORDER BY
    #38985175
Vano34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vano34,

то-есть! не дописал - с ORDER BY id DESC
...
Рейтинг: 0 / 0
Можна ли использовать DESC в ORDER BY
    #38985180
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vano34miksoft,

Можно то да), но к сожалению оно не дает мне самые последние записи :(Последние внутри группы или после группировки? GROUP BY сортирует результат после группировки. Если в пределах группы какое-то поле имеет разные значения, то в результате может оказаться любое из них.

Подозреваю, что вам нужна сортировка в пределах группы. Тогда см. FAQ: Выборка первой/последней записи в группах .
...
Рейтинг: 0 / 0
Можна ли использовать DESC в ORDER BY
    #38985181
Vano34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Код: sql
1.
SELECT * FROM `mailbox` WHERE user_id = 1 GROUP BY (interlocutor_id) DESC ORDER BY id DESC;

Вот этот запрос не дает последних записей, а дает первые попавшиеся по пути оптимизированного - наибыстрого прохождения мускула по базе данных
...
Рейтинг: 0 / 0
Можна ли использовать DESC в ORDER BY
    #38985182
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vano34Vano34,

то-есть! не дописал - с ORDER BY id DESCORDER BY тоже сортирует после группировки.
...
Рейтинг: 0 / 0
Можна ли использовать DESC в ORDER BY
    #38987135
Vano34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Та мне не сортировка нужна, а выборка последних записей. ОрдерБай не выбирает последние, а только сортирует готовый результат
...
Рейтинг: 0 / 0
Можна ли использовать DESC в ORDER BY
    #38987139
Vano34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vano34,

авторПодозреваю, что вам нужна сортировка в пределах группы. Тогда см. FAQ: Выборка первой/последней записи в группах.
Вот эт щас попробую
...
Рейтинг: 0 / 0
Можна ли использовать DESC в ORDER BY
    #38987194
Vano34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Для моей задачи проще всего написать так:
Код: plsql
1.
2.
SELECT * FROM `mailbox` WHERE id IN (
SELECT max(id) FROM `mailbox` WHERE user_id = 5 GROUP BY interlocutor_id);


Но в таком случае я не могу добавить LIMIT и OFFSET, а мне надо подгружать по 10 последних разговоров + к тому же, количество прочтенных рядов умножается на ого-го сколько - то-есть такая выборка не правильная.

Если интересно, буду рад помощи. Выкладываю структуры таблиц.

Код: plsql
1.
id | theme | text | creation_date

- Таблица сообщений
Код: plsql
1.
id | message_id | user_id | interlocutor_id | inbox

- таблица почтовых ящиков, там еще поля типа "прочтено", "в корзине", "удалено",

При создании сообщения(юзер 1 отправляет письмо юзеру 2), создаются 2 записи в почтовом ящике, одна принадлежит "Отправителю" (user_id 1, inbox 0, interlocutor_id 2) другая - "Принимателю" (user_id 2, inbox 1, interlcutor_id 1). Где инбокс 1 значит входящее, 0 - исходящее.

И вот задача: нужен список разговоров, то-есть список юзеров с кем разговаривал этот юзер с последними сообщениями(как на вконтакте - разговоры), плюс это все надо сделать с пагинацией.
...
Рейтинг: 0 / 0
Можна ли использовать DESC в ORDER BY
    #38987239
Vano34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vano34,

Я могу делать 2 отдельных запроса, тогда вроде и быстро работает, и понятнее. Но в идеале нужен один.
...
Рейтинг: 0 / 0
Можна ли использовать DESC в ORDER BY
    #38987307
Vano34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vano34,

Хммм... походу я нашел революционное решение. Так сказать обманка, логически по коду фиг поймешь пока не пропишешь таблицу(вернее таблицы созданные ключами) на бумаге.

Добавить связанный индекс (user_id, interlocutor_id). И запрос типа:
Код: plsql
1.
2.
SELECT * FROM `mailbox`
WHERE user_id = 5 GROUP BY interlocutor_id DESC ORDER BY id DESC


- дает мне нужный результат. Вот только еще затестю, когда допишу формы, ато вручную через БД добавлять муторно, и отпишусь.
...
Рейтинг: 0 / 0
Можна ли использовать DESC в ORDER BY
    #38987308
Vano34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vano34,

ну ORDER BY id DESC То мне нужен(он в принципе не важен)
...
Рейтинг: 0 / 0
Можна ли использовать DESC в ORDER BY
    #38988309
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перечитал в пятый раз топик, и сдается мне что вам нужно это - FAQ: Выборка первой/последней записи в группах
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Можна ли использовать DESC в ORDER BY
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]