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




MySQL.RU - Webboard



Вернуться
Выбрать данные с группировкой по неделям (IgorN) 07/08/2009 - 16:30:24
      Re: Выбрать данные с группировкой по неделям (IgorN) 07/08/2009 - 16:56:44
      Re: Выбрать данные с группировкой по неделям (IgorN) 07/08/2009 - 18:19:07

> Original message text:
> From: IgorN - 07/08/2009 - 16:30:24
> Subject:Выбрать данные с группировкой по неделям
> -----------------
> У меня задача показать пользователю статистику прибыли сгруппированную по неделям (последние 7 недель например).
> Есть такая таблица
>
> profit
> id | user_id | date | profit
> 1 1 2009-06-01 100.55
> 2 1 2009-06-03 110.55
> 3 1 2009-06-04 120.55
> 4 1 2009-06-07 140.55
> ...
> 5 1 2009-06-12 130.55
> 6 1 2009-06-13 150.55
> 7 1 2009-06-14 105.55
>
> В итоге должны получить что то типа 2009-06-01 по 2009-06-07 472$
> Еще заморочка в том, что надо все делать относительно дней недели т.е. считать начиная с воскресенья за неделю (в примере выше 2009-06-01 - воскресенье), диапазон дат мне надо выводить.
>
> Заранее спасибо!
>


From: IgorN - 07/08/2009 - 18:19:07
Subject:Выбрать данные с группировкой по неделям
-----------------
Написал запрос

SELECT
DAYOFWEEK( d_date ) ,
iF( DAYOFWEEK( d_date ) =1, ADDDATE( d_date, INTERVAL 1 DAY ) , d_date ) AS startInt,
ADDDATE( d_date, INTERVAL( 7 - DAYOFWEEK( d_date ) +1 ) DAY ) AS endInt,
SUM( profit )
FROM `stat_profit`
GROUP BY d_date
ORDER BY d_date DESC

Получил почти нужный мне результат

DAYOFWEEK(d_date) startInt endInt SUM(profit)
7 2009-08-08 2009-08-09 150.0000
6 2009-08-07 2009-08-09 100.0000
5 2009-06-18 2009-06-21 1063.5653
4 2009-06-17 2009-06-21 761.8159
3 2009-06-16 2009-06-21 1061.7598
2 2009-06-15 2009-06-21 1396.4341
1 2009-06-15 2009-06-21 7452.1342
7 2009-06-13 2009-06-14 629.0677
6 2009-06-12 2009-06-14 466.9909
5 2009-06-11 2009-06-14 1336.4949
4 2009-06-10 2009-06-14 1770.0211
1 2009-06-08 2009-06-14 4202.5746
2 2009-06-01 2009-06-07 10509.7444

Теперь надо как то сгрупировать по интервалам т.е. 2009-06-13, 2009-06-12, 2009-06-11, 2009-06-10 попадает в интервал 2009-06-08 2009-06-14 шаманю-шаманю но толка пока нет


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

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

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



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