Mysql Можна ли GROUP BY DESC?

Vano

Новичок
Будет ли правильным запрос:

Код:
SELECT * FROM `mailbox` WHERE `user_id` = 5 GROUP BY (interlocutor_id) DESC;
В mysql он проходит, и дает мне список переписок пользователя 5. То-есть, как на вконтакте, в сообщениях, список людей с которыми ты переписываешься.
А еще точнее - выбирает только последние сообщения со всеми пользователями.
Но в доках нигде не видел такого примера, и в Yii2 в метод groupBy() можна передать только столбец/столбцы.
 

Vano

Новичок
Научился пользоваться справочником)))
...
[WHERE where_condition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
Просто когда в примерах нету, то начинает настораживать.
 

Vano

Новичок
Хах, получилось вот так:
Код:
->groupBy('`interlocutor_id` DESC')
добавить кавычки и работает.
 

Фанат

oncle terrible
Команда форума
интересно, для чего придумали на форумах цитирование?
 

Vano

Новичок
Нет, DESC не означает читать с конца и не дает последние записи, он только сортирует уже готовый результат. По другому прийдется.
А я когда-то пытался помочь мускулу, при выборке записей которые знал, что они только-что созданы, добавлял ORDER BY .. DESC )))
 
Последнее редактирование:

Vano

Новичок
Тогда вопрос такой:
Как дешевле всего вынуть такие записи?
Сделать 2 запроса : SELECT max(id) ... и потом SELECT ... WHERE `id` IN ($ids_array) ?
Или есть другой, более быстродейственный способ?
 
Сверху