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




MySQL.RU - Webboard



Вернуться
Группировка по двум полям с сортировкой (Tachyon) 03/04/2013 - 12:31:41
      Re: Группировка по двум полям с сортировкой (Akina) 03/04/2013 - 13:28:00
      Re: Группировка по двум полям с сортировкой (Tachyon) 03/04/2013 - 13:52:29
      Re: Группировка по двум полям с сортировкой (Akina) 03/04/2013 - 16:31:25
      Re: Группировка по двум полям с сортировкой (Tachyon) 03/04/2013 - 18:25:07
      Re: Группировка по двум полям с сортировкой (Akina) 03/04/2013 - 20:43:18

> Original message text:
> From: Tachyon - 03/04/2013 - 12:31:41
> Subject:Группировка по двум полям с сортировкой
> -----------------
> Здравствуйте. Необходимо решить следующую задачу:
> "SELECT enterdate, program, period, field1...field4 FROM table WHERE enterdate <= '2013-04-03' GROUP BY program, period"
> В базе может быть несколько значений с совпадающими program-period, отличающиеся по enterdate. Такой запрос работает верно, выдает по одному значению на каждую пару program-period, но необходимо сделать так, чтобы из множества таких пар выбирала ту, где максимальная enterdate.
> Заранее спасибо.
>


From: Tachyon - 03/04/2013 - 18:25:07
Subject:Группировка по двум полям с сортировкой
-----------------
Суть проблемы в том, что в приведенном примере ошибка в структуре второго подзапроса, а именно HAVING-GROUP. Следовательно, запрос, приведенный в качестве примера верного решения, верным решением не является.

Без проверки дополнительных условий работает запрос вида

SELECT t1.* FROM table t1,
(SELECT program, period, MAX(enterdate) AS enterdate
FROM vzr_trfpiter GROUP BY program, period) t2
WHERE t1.program = t2.program AND t1.period = t2.period AND t1.enterdate = t2.enterdate

Выдает список пар program-period с максимальным значением enterdate, но необходимо добавить проверку дополнительных условий выборки? enterdate <= дата и table.check IS NULL.
Запрос выполняется верно (с имеющимся на данный момент объемом данных) в том случае, если проверку этих условий поставить в оба запроса, t1 и t2. Но меня терзают смутные сомнения, что это не есть правильно.

По прежнему нужна помощь в решении данного вопроса.
Заранее благодарен.


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

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

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



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