Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Вниз

Выборка данных за каждый месяци сумирование   Найти похожие ветки 

 
Denis_Visma   (2004-04-09 14:48) [0]

Уважаемые! Как написать запрос, котороый бы покаждому дню месяца сумировал одно поле....если например за какой то день нее записей, то все равно он отображался в выборке спасибо...
select STAT_DAY, // поле по которому надо сделать ограничение на дату
SUM(SELF_MARK)
from statday


 
Denis_Visma   (2004-04-09 14:48) [0]

Уважаемые! Как написать запрос, котороый бы покаждому дню месяца сумировал одно поле....если например за какой то день нее записей, то все равно он отображался в выборке спасибо...
select STAT_DAY, // поле по которому надо сделать ограничение на дату
SUM(SELF_MARK)
from statday


 
Карелин Артем ©   (2004-04-09 14:54) [1]

Пиши хранимую процедуру, в ней цикл по перечислению месяцев. Внутри цикла делай SUM(SELF_MARK) и все.


 
Карелин Артем ©   (2004-04-09 14:54) [1]

Пиши хранимую процедуру, в ней цикл по перечислению месяцев. Внутри цикла делай SUM(SELF_MARK) и все.


 
Соловьев ©   (2004-04-09 15:00) [2]


>  покаждому дню месяца сумировал одно поле....

select SUM(SELF_MARK)
from statday
where stat_day=your_day


 
Соловьев ©   (2004-04-09 15:00) [2]


>  покаждому дню месяца сумировал одно поле....

select SUM(SELF_MARK)
from statday
where stat_day=your_day


 
Nikolay M. ©   (2004-04-09 15:01) [3]

В ИБ есть функции, извлекающие год и месяц?
Подозреваю, что есть. Попробуй что-то вроде
SELECT sum(1), ExtractYear(date_field) || ExtractMonth(date_field)
FROM table_name
GROUP BY ExtractYear(date_field) || ExtractMonth(date_field)
?


 
Nikolay M. ©   (2004-04-09 15:01) [3]

В ИБ есть функции, извлекающие год и месяц?
Подозреваю, что есть. Попробуй что-то вроде
SELECT sum(1), ExtractYear(date_field) || ExtractMonth(date_field)
FROM table_name
GROUP BY ExtractYear(date_field) || ExtractMonth(date_field)
?


 
Соловьев ©   (2004-04-09 15:05) [4]


> Nikolay M. ©   (09.04.04 15:01) [3]
> В ИБ есть функции, извлекающие год и месяц?

есть extract(year from field )
    extract(month from field )
    extract(day from field )
Только я как понял у автора поста - день храниться.


 
Соловьев ©   (2004-04-09 15:05) [4]


> Nikolay M. ©   (09.04.04 15:01) [3]
> В ИБ есть функции, извлекающие год и месяц?

есть extract(year from field )
    extract(month from field )
    extract(day from field )
Только я как понял у автора поста - день храниться.


 
Denis_Visma   (2004-04-09 15:06) [5]

вы не могли бы написать эту самую ХП? буду очень благодарен


 
Denis_Visma   (2004-04-09 15:06) [5]

вы не могли бы написать эту самую ХП? буду очень благодарен


 
Соловьев ©   (2004-04-09 15:11) [6]


> Denis_Visma   (09.04.04 15:06) [5]
> вы не могли бы написать эту самую ХП? буду очень благодарен

скоко у.е.? :)
Если серьезно, то ты же программист - пора и научится. Используй IBExpert(www.ibexpert.com - для нашего брата бесплатен) Там удобно писать ХП.


 
Соловьев ©   (2004-04-09 15:11) [6]


> Denis_Visma   (09.04.04 15:06) [5]
> вы не могли бы написать эту самую ХП? буду очень благодарен

скоко у.е.? :)
Если серьезно, то ты же программист - пора и научится. Используй IBExpert(www.ibexpert.com - для нашего брата бесплатен) Там удобно писать ХП.


 
Nikolay M. ©   (2004-04-09 15:32) [7]


> Соловьев ©   (09.04.04 15:05) [4]
> Только я как понял у автора поста - день храниться.

А, дошло. У него дата-время, а нужна группировка только по дате?
Немного доработаем:
SELECT sum(1), Extract(year from date_field) || Extract(month from date_field) || Extract(day from date_field)
FROM table_name
GROUP BY Extract(year from date_field) || Extract(month from date_field) || Extract(day from date_field)

Или вместо этого нагромождения Extract-ов сделать CAST(date_field AS date). Правда, не знаю, какой эффект будет иметь в ИБ, может есть более прямые функции для даты-времени.


 
Nikolay M. ©   (2004-04-09 15:32) [7]


> Соловьев ©   (09.04.04 15:05) [4]
> Только я как понял у автора поста - день храниться.

А, дошло. У него дата-время, а нужна группировка только по дате?
Немного доработаем:
SELECT sum(1), Extract(year from date_field) || Extract(month from date_field) || Extract(day from date_field)
FROM table_name
GROUP BY Extract(year from date_field) || Extract(month from date_field) || Extract(day from date_field)

Или вместо этого нагромождения Extract-ов сделать CAST(date_field AS date). Правда, не знаю, какой эффект будет иметь в ИБ, может есть более прямые функции для даты-времени.


 
Johnmen ©   (2004-04-09 15:58) [8]

Не, ребята, с IB5 много не наработаешь...:)

>Nikolay M. ©   (09.04.04 15:32) [7]

А так можно наработать разве что с FB1.5
:)


 
Johnmen ©   (2004-04-09 15:58) [8]

Не, ребята, с IB5 много не наработаешь...:)

>Nikolay M. ©   (09.04.04 15:32) [7]

А так можно наработать разве что с FB1.5
:)


 
Nikolay M. ©   (2004-04-09 16:05) [9]


> Johnmen ©   (09.04.04 15:58) [8]

Ну, я же и не претендую. Я с ИБ совсем немного работал и то давно. Главное: ход мысли передать :)
В MySQL, где формат даты-времени был, в основном "2004-09-04 16:04:00" помогал банальный кастинг в строку и Trim правых символов:
GROUP BY left(date_time, 10)


 
Nikolay M. ©   (2004-04-09 16:05) [9]


> Johnmen ©   (09.04.04 15:58) [8]

Ну, я же и не претендую. Я с ИБ совсем немного работал и то давно. Главное: ход мысли передать :)
В MySQL, где формат даты-времени был, в основном "2004-09-04 16:04:00" помогал банальный кастинг в строку и Trim правых символов:
GROUP BY left(date_time, 10)


 
roottim   (2004-04-09 17:09) [10]

я конечно наверно лох по синтаксису ИБ, да и в оракле только в 9-ке появилис pipeline функции... но накидать примерно код могу.. только не сильно бейте
create pocedure days_of_month(p_month integer, p_year integer)
return (dmonth date)
as
begin
 -- вот это на pl
 for i in 1..lastday(to_date(p_month||"."||p_year, "mm.yyyy"))
 loop
   dmonth := to_date(i||"."||p_month||"."||p_year, "dd.mm.yyyy");
   -- а это на isql
   suspend;
  -- и это на pl
  end loop;
end

звиняйте , но что смог вспомнить...

а затем соединям
select ... from ttt, days_of_month where dmonth = ttt.dayofmonth


 
roottim   (2004-04-09 17:09) [10]

я конечно наверно лох по синтаксису ИБ, да и в оракле только в 9-ке появилис pipeline функции... но накидать примерно код могу.. только не сильно бейте
create pocedure days_of_month(p_month integer, p_year integer)
return (dmonth date)
as
begin
 -- вот это на pl
 for i in 1..lastday(to_date(p_month||"."||p_year, "mm.yyyy"))
 loop
   dmonth := to_date(i||"."||p_month||"."||p_year, "dd.mm.yyyy");
   -- а это на isql
   suspend;
  -- и это на pl
  end loop;
end

звиняйте , но что смог вспомнить...

а затем соединям
select ... from ttt, days_of_month where dmonth = ttt.dayofmonth



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.044 c
7-1080538520
Ivolg
2004-03-29 09:35
2004.05.09
Указатель


3-1081758841
Alex2004
2004-04-12 12:34
2004.05.09
Как уменьшить размер кэша


14-1081937022
Style
2004-04-14 14:03
2004.05.09
Как посвящают в программисты? :)


3-1081483877
Mery
2004-04-09 08:11
2004.05.09
Сумма в запросе


1-1082371273
Oleon
2004-04-19 14:41
2004.05.09
Ошибки при сохранении в Excel.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский