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-ке).
Спасибо!
Приветствую всех!
Долгое время не могу написать запрос, вытягивающий последние котировки ценных бумаг из базы.
Структура таблицы цен:
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-ке).
Спасибо!