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




MySQL.RU - Webboard



Вернуться
Группировки (Дмитрий) 19/01/2006 - 21:42:48
      Re: Группировки (Dinky) 19/01/2006 - 22:42:57
      Re: Группировки (Дмитрий) 28/01/2006 - 10:31:26
      Re: Группировки (Дмитрий) 28/01/2006 - 10:43:58
      Re: Группировки (Dinky) 30/01/2006 - 06:27:53
      Re: Группировки (Dinky) 30/01/2006 - 06:29:13



From: Дмитрий - 19/01/2006 - 21:42:48
Subject:Группировки
-----------------
На заданные вопросы я знаю ответ, но мой вариант громоздкий и некрасивый состоит из нескольких страниц кода на php и множества запросов к базе, вызываемых в цикле. Хотелось бы почерпнуть высокого искусства и мастерства. Можно ли следующие задачи решить одним запросом?

Имеется база, допустим, автомобильная барахолка. В результате запроса хочется получить количество предложений для каждой модели автомобиля. Например, Toyota – 100 штук, Nissan – 50 штук и тд. При этом предложения должны быть не устаревшие, допустим, не старше 10 дней. Так вот если, например, окажется, что все имеющиеся в базе Honda старше 10 дней, то в результате хотелось бы получить кроме прочего Honda – 0 штук.

Первый запрос, который приходит мне в голову не дает в результате позиции, с нулевым количеством, поэтому мне приходится сначала узнавать список всех имеющихся моделей и в дальнейшем для каждой модели формировать в цикле свой запрос и узнавать count(*)

Второй вопрос. Предположим, имеется база, в которую пишется лог некоторых событий. Кроме прочих полей в базе имеется поле timestamp. Хочется одним запросом получить количество событий за каждый день (каждую неделю и тп) Еще один тонкий момент - в какой-то из дней может вообще не произойти ни одного интересуемого меня события. Так вот было бы совсем шоколадно, учесть и этот момент в том же запросе и получить за этот день ноль.

Как я поступаю в этом случае, я вообще никому не скажу, чтобы не опозориться :-)



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

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

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



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