







|
MySQL.RU - Webboard
Вернуться
Проблема выбора из базы по дате (Рустем Рамазанов) 21/04/2006 - 18:19:44
Re: Проблема выбора из базы по дате (Dinky) 21/04/2006 - 19:55:15
Re: Проблема выбора из базы по дате (Рустем Рамазанов) 22/04/2006 - 09:21:08
Re: Проблема выбора из базы по дате (DiGiTAL) 26/04/2006 - 20:27:20
From: Рустем Рамазанов - 21/04/2006 - 18:19:44
Subject:Проблема выбора из базы по дате
-----------------
Есть таблица Stud с полями id-номер студента, Data-дата смены группы, Gr-номер группы.
Нужно выбрать всех студентов и их группы на определенную дату. Например в базе такие данные:
id| Data |Gr
02|2005-11-22|00
02|2005-07-31|24
То есть студент с 2005-07-31 был в группе 24, но 2005-11-22 был отчислен и если делать запрос на сегодняшнюю дату – в результатах его быть не должно.
Пробую использовать такой запрос:
SELECT *
FROM Stud
WHERE Data<=’2006-04-20’
GROUP BY id
ORDER BY Data DESC
но он выдает строчку ‘02|2005-07-31|24’.
Использование вложенного запроса дает правильный результат, но
работает намного медленнее (в базе 40000 строк):
SELECT Stud.id, (SELECT * FROM Stud AS P WHERE P.id=Stud.id AND P.Data<='2006-04-20' ORDER BY P.Data DESC LIMIT 1)
FROM Stud
GROUP BY id
ORDER BY Data DESC
Неужели такую задачу невозможно реализовать одним запросом?
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
27513
|
|