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