Сначала отсортировать по двум полям, а затем выполнить GROUP

ALEZ

Новичок
Сначала отсортировать по двум полям, а затем выполнить GROUP

Запрос выглядит примерно так (часть условий, не относящихся к сути вопроса, убрана):

PHP:
SELECT 
    `FUN_bouquets`.`name`,
    `FUN_bouquets`.`weight`, 
    `FUN_images`.`link`
FROM 
    `FUN_bouquets`, 
    `FUN_images` 

WHERE 
    `FUN_images`.`id_owner` = `FUN_bouquets`.`id` AND `FUN_images`.`size` = '115' 

GROUP BY `FUN_bouquets`.`id` ORDER BY `FUN_bouquets`.`weight` ASC
Таким образом, происходит "схлапывание" списка по `FUN_bouquets`.`id`, а затем сортировка по `FUN_buoquets`.`weight`.

А если мне необходимо провести еще и сортировку по полю `FUN_images`.`id`, что невозможно после GROUP? Можно ли сделать сортировку до его выполнения?

Решение, которое лежит на поверхности:
PHP:
SELECT .....
FROM 
    (запрос, который вверху)
GROUP BY
Т.е. сначала получить отсортированные данные, а потом выполнить GROUP. Но может есть какой-то более "правильный" выход?
 

ALEZ

Новичок
Да, спасибо. Помогло.

Вместо указания второй таблицы `FUN_images` сделал JOIN с полной выборкой этой таблицы, отсортировав ее в нужном порядке (как показано во втором примере по ссылке).

Может и по-крестьянски, зато вроде работает...
 
Сверху