Re: группировка по неделям

2006-05-19 Пенетрантность Oleg LOA

Alexander A. Venikov [EMAIL PROTECTED] wrote in message news:[EMAIL 
PROTECTED]
 
 Hello, Oleg!
 You wrote  on Thu, 18 May 2006 17:36:59 +0400:
 
 OL А экстаркт номера недели из даты не помогает?
 А где ты его видел? extract(weekday...) есть, extract(week...) - нет.
 

Угу, наверно у меня лыжи не той системы 

select extract(yearweek from current_date) from rdb$database

20

P.S. Сервер подсказать или сам догадаешься? ;-)

Re: группировка по неделям

2006-05-19 Пенетрантность Alexander A. Venikov


Hello, Oleg!
You wrote  on Fri, 19 May 2006 10:30:51 +0400:

OL Угу, наверно у меня лыжи не той системы
OL select extract(yearweek from current_date) from rdb$database
OL P.S. Сервер подсказать или сам догадаешься? ;-)
Дык... Лыж с твоего лыжного заводика у меня сейчас нет. :)

Удач
--
Alexander A. Venikov, Tobolsk, Russia
Real e-mail address is venixangry_dogtndottobdotru 





Re: группировка по неделям

2006-05-19 Пенетрантность Oleg LOA
arni [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED]
 
 Угу, наверно у меня лыжи не той системы
 select extract(yearweek from current_date) from rdb$database
 20
 P.S. Сервер подсказать или сам догадаешься? ;-)
 
 Обычная история: Олег понавертит фишек, народ порадуется новым функциям, а 
 потом чешет репу: как на FB2 перейти? :))) 

Ну я же не виноват что просто делаю то что нужно людям :-)

Re: группировка по неделям

2006-05-19 Пенетрантность Alex Cherednichenko

Привет, Dmitry!
Вы пишешь  19 мая 2006:

 DY Я хотел это перенести к нам, но фича неуниверсальная. В стандарте SQL этого
 DY нет. Более того, в разных странах приняты разные варианты определения 
начала
 DY недели (вск/пнд) и вычисления номера недели в году. Единственный стандарт 
на
 DY этот счет - ISO 8601, который IMHO на практике малоприменим, т.к. 1 января 
в
 DY нем может соответствовать как 1-й неделе текущего года, так и 52-й неделе
 DY предыдущего - как карта ляжет.

NLS-ы бы, надо бы...

--
With best regards, Alex Cherednichenko.




Re: группировка по неделям

2006-05-19 Пенетрантность Alex Cherednichenko

Привет, Alexandr!
Вы пишешь к Dmitry Yemanov 19 мая 2006:


 AK Ой да ну нашли проблему прямо.
 AK пусть кому надо UDF пишут.

Дык, готовые ж ужо есть.
К примеру, во FreeUDFLib.

--
With best regards, Alex Cherednichenko.




Re: группировка по неделям

2006-05-19 Пенетрантность Alexandr Kochmin


 AC Привет, Alexandr!
 AC Вы пишешь к Dmitry Yemanov 19 мая 2006:

 AK Ой да ну нашли проблему прямо.
 AK пусть кому надо UDF пишут.

 AC Дык, готовые ж ужо есть.
 AC К примеру, во FreeUDFLib.

тем более.
Хотя к вопросу о выборе UDF: лучше уж rfunc по-моему в FreeUDFLib какие-то 
проблемы с многопоточностью, или мне кажется.


--
С уважением
Кочмин Александр




Re: группировка по неделям

2006-05-19 Пенетрантность Alex Cherednichenko

Привет, Alexandr!
Вы пишешь к Alex Cherednichenko 19 мая 2006:

[Sorry, skipped]
 AK Хотя к вопросу о выборе UDF: лучше уж rfunc по-моему в FreeUDFLib
 AK какие-то проблемы с многопоточностью, или мне кажется.

Если не ошибаюсь, то в rFunc'е этого нет.
А в отношении многопоточности, я не наступал, потому как не пользую.
Но не думаю, что Грегори Диц там уж ТАК накосячил.
Хотя, тестировать конечно, нужно...

--
With best regards, Alex Cherednichenko.




Re: группировка по неделям

2006-05-19 Пенетрантность Oleg Deribas

Hello,

Alexandr Kochmin said the following on 19.05.2006 12:06:

  DY Я хотел это перенести к нам, но фича неуниверсальная. 
 
 Ой да ну нашли проблему прямо.
 пусть кому надо UDF пишут.

Или так:
http://www.volny.cz/iprenosil/interbase/ip_ib_code_timestamp.htm#_code3_weekofyear

-- 
Oleg



Re: группировка по неделям

2006-05-18 Пенетрантность Oleg LOA
Valera Tchepickov [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED]
 
 можно ли сделать это запросом без процедуры?

А экстаркт номера недели из даты не помогает?

Re: группировка по неделям

2006-05-18 Пенетрантность Serge Buzadzhy


Valera Tchepickov пишет:

Hello, All!

Имеется, например, таблица типа:

ID   AMOUNT  DATA
1  20.00  5.01.2006
..   ...

Необходимо сформировать выборку за произвольный период, например
с 5.01.06 по 18.05.06 , сгруппированную по неделям в следующем виде:

begin_weekend_week amount

5.01.06   8.01.06  40.00
9.01.06  15.01.06100.00
  .   .
15.05.06 18.05.06   60.00

т.е первая и последняя недели могут быть неполными.

можно ли сделать это запросом без процедуры?


Можно. Но наверное не нужно. Под ФБ2 это извращение выглядит как-то так:

Select
 case
  WHEN (DATA-extract(weekday from DATA)+1=:BEG) THEN
   DATA-extract(weekday from DATA)+1
 else
   :BEG
 end
,
 case
  WHEN (DATA+5-extract(weekday from DATA)=:END) THEN
   DATA+5-extract(weekday from DATA)
 else
   :END
 end,
 SUM(AMOUNT)
from new_table
where DATA between :BEG and :END
group by 1,2