GROUP BY после ORDER BY на MySQL 5.0.37

Cornolio

Новичок
GROUP BY после ORDER BY на MySQL 5.0.37

Приветствую всех!
Долгое время не могу написать запрос, вытягивающий последние котировки ценных бумаг из базы.

Структура таблицы цен:
id (INT) - идентификатор записи
security_id (INT) - ссылка на объект "Ценная бумага"
date (DATE) - дата котировки (котировки добавляются 1 раз в день)
price (DOUBLE) - цена

Мне кажется, для того, чтобы выбрать последние значения всех бумаг одним запросом, нужно написать запрос по таблице котировок, отсортировать его по "date desc" или "id desc" и сгруппировать по полю security_id, чтобы в выборку попали только по одному последнему значению по каждой бумаге, т.е.:

select date,price from prices order by date desc group by security_id

Но MySQL не позволяет добавлять "group" после "order", поменяв их местами смысл теряется - в результат попадают не последние, а первые значения, которые остаются после group.

Если кто сталкивался с подобным, подскажите, пожалуйста, как это решать?

Желательно решить проблему таким образом, чтобы работало и на 4-й версии (без процедур, виртуальных таблиц, подзапросов или конструкций, которые не поддерживаются в 4-ке).

Спасибо!
 

Gas

может по одной?
Сделай с помощью подзапроса, они появились в 4.1
 
Сверху