Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Оптимальный запрос на выборку данных (Serge) 29/03/2005 - 17:58:05
      Re: Оптимальный запрос на выборку данных (Валентин) 29/03/2005 - 18:13:36
      Re: Оптимальный запрос на выборку данных (Serge) 29/03/2005 - 18:41:46
      Re: Последние цены (Валентин) 29/03/2005 - 19:55:32
      Re: Последние цены (Serge) 30/03/2005 - 10:51:01

> Original message text:
> From: Serge - 29/03/2005 - 17:58:05
> Subject:Оптимальный запрос на выборку данных
> -----------------
> Помогите пожалуйста составить запрос!!!
> Есть таблица :
> create table TempDataCena (tovar_id int(10), valuta_id int(10), Cena FLOAT(14,2), DataCena datetime) type = heap:
>
> Все поля могут иметь одинаковые значения.
> Как оптимально составить запрос, чтобы в результате были вышеперечисленные поля,
> но значение поля tovar_id не повторялось, а значение поля DataCena отвечало
> условию (например) DataCena <=’2005-03-18 15:25:23’.
>
> Версия MySQL 3.23.32 .
>
> Свое решение этого я, к своему стыду, не хочу показывать. Получилось громоздко, на мой взгляд, нерационально. Мне кажется, что есть решение проще. Поэтому еще раз прошу помогите. Заранее благодарю.
>
>


From: Валентин - 29/03/2005 - 19:55:32
Subject:Последние цены
-----------------
Для 3.23.х вытянуть сразу прайс-лист с последними ценами можно через временную табличку, а это как минимум 2 запроса.
Потому что последние даты показать просто, по максимальной дате и сгруппировать по нужному критерию, а вот соответствующюю цену на эту дату без подзапроса прикрутить нельзя.
Может кто-то делал что-то подобное, но правильный путь лежит через удобные планировки табличек -
Нужна дата начала действия цены и окончания, где в окончание ставится заведомо большая дата, а при обновлении конечная дата закрывается и создается новая запись с новым сроком жизни.
Если не лень - переделай табличку, это будт удобно и при других запросах.

извлеч 1 запись по конкретному товару с последней ценой просто

...
group by tovar_id
order by datacena desc
limit 1;


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
21102



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |