Re: группировка по неделям
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: группировка по неделям
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: группировка по неделям
arni [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Угу, наверно у меня лыжи не той системы select extract(yearweek from current_date) from rdb$database 20 P.S. Сервер подсказать или сам догадаешься? ;-) Обычная история: Олег понавертит фишек, народ порадуется новым функциям, а потом чешет репу: как на FB2 перейти? :))) Ну я же не виноват что просто делаю то что нужно людям :-)
Re: группировка по неделям
Привет, Dmitry! Вы пишешь 19 мая 2006: DY Я хотел это перенести к нам, но фича неуниверсальная. В стандарте SQL этого DY нет. Более того, в разных странах приняты разные варианты определения начала DY недели (вск/пнд) и вычисления номера недели в году. Единственный стандарт на DY этот счет - ISO 8601, который IMHO на практике малоприменим, т.к. 1 января в DY нем может соответствовать как 1-й неделе текущего года, так и 52-й неделе DY предыдущего - как карта ляжет. NLS-ы бы, надо бы... -- With best regards, Alex Cherednichenko.
Re: группировка по неделям
Привет, Alexandr! Вы пишешь к Dmitry Yemanov 19 мая 2006: AK Ой да ну нашли проблему прямо. AK пусть кому надо UDF пишут. Дык, готовые ж ужо есть. К примеру, во FreeUDFLib. -- With best regards, Alex Cherednichenko.
Re: группировка по неделям
AC Привет, Alexandr! AC Вы пишешь к Dmitry Yemanov 19 мая 2006: AK Ой да ну нашли проблему прямо. AK пусть кому надо UDF пишут. AC Дык, готовые ж ужо есть. AC К примеру, во FreeUDFLib. тем более. Хотя к вопросу о выборе UDF: лучше уж rfunc по-моему в FreeUDFLib какие-то проблемы с многопоточностью, или мне кажется. -- С уважением Кочмин Александр
Re: группировка по неделям
Привет, Alexandr! Вы пишешь к Alex Cherednichenko 19 мая 2006: [Sorry, skipped] AK Хотя к вопросу о выборе UDF: лучше уж rfunc по-моему в FreeUDFLib AK какие-то проблемы с многопоточностью, или мне кажется. Если не ошибаюсь, то в rFunc'е этого нет. А в отношении многопоточности, я не наступал, потому как не пользую. Но не думаю, что Грегори Диц там уж ТАК накосячил. Хотя, тестировать конечно, нужно... -- With best regards, Alex Cherednichenko.
Re: группировка по неделям
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: группировка по неделям
Valera Tchepickov [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] можно ли сделать это запросом без процедуры? А экстаркт номера недели из даты не помогает?
Re: группировка по неделям
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