Отдать приоритет ORDER BY над GROUP BY в MySQL без подзапроса

У меня есть следующий запрос, который делает то, что я хочу, но я подозреваю, что это можно сделать без подзапроса:

  SELECT * 
    FROM (SELECT * 
            FROM 'versions' 
        ORDER BY 'ID' DESC) AS X 
GROUP BY 'program'

Что мне нужно, так это сгруппировать по программе, но возвращать результаты для объектов в версиях с наивысшим значением «ID».

По моему прошлому опыту, такой запрос должен работать в MySQL, но по какой-то причине это не так:

  SELECT * 
    FROM 'versions' 
GROUP BY 'program' 
ORDER BY MAX('ID') DESC

Я хочу, чтобы сделал, чтобы MySQL сначала выполнял ORDER BY, а затем GROUP BY, но он настаивает на выполнении сначала GROUP BY, а затем ORDER BY. то есть это сортировка результатов группировки вместо группировки результатов упорядочивания.

Конечно, невозможно написать

SELECT * FROM 'версии' ORDER BY 'ID' DESC GROUP BY 'program'

Спасибо.

6
задан Mahmoud Al-Qudsi 17 January 2011 в 18:23
поделиться