Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2022, 20:00   #11
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 483
По умолчанию

Очередное подтверждение моей теории. Вместо того, что бы сделать правильно, человек охотно переключается на свои представления о возможном решении задачи, при малейшем диалоге на эту тему.
Valick вне форума Ответить с цитированием
Старый 28.06.2022, 20:25   #12
sanekgyrev
 
Регистрация: 08.06.2013
Сообщений: 6
По умолчанию

macomics, прошу прощения, да, 14)
sanekgyrev вне форума Ответить с цитированием
Старый 29.06.2022, 09:08   #13
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
Цитата:
необходимо найти сумму всех дней, находящихся между NULL.
число дней от одной "рабочей" даты до СЛЕДУЮЩЕЙ ?
разность дат datediff

Код:
 ---см. 3 моего предыдущего поста
select datediff (t.d, after.d) --синтаксис не точный 
....
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 29.06.2022, 10:32   #14
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 483
По умолчанию

Разговор немого с глухим.
Ну ничего подожду, мне спешить некуда.
Valick вне форума Ответить с цитированием
Старый 29.06.2022, 11:15   #15
Valick
Форумчанин
 
Регистрация: 27.04.2022
Сообщений: 483
По умолчанию

Подкину овна на вентилятор...

select min(date_field) as date_start,
max(date_field) as date_end,
sum(sum_field) as sum_result
from table
group by group_field

В условии задачи есть все нужные поля кроме group_field, это поле и нужно добавить.

Последний раз редактировалось Valick; 29.06.2022 в 11:17.
Valick вне форума Ответить с цитированием
Старый 29.06.2022, 12:37   #16
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

последняя рабочая дата (на день меньше перед первой нерабочей )
Код:
select t.d as fdt, 
( select min(d)-1 from t as l where v is null and l.d >t.d ) as ldt, t.v
from t
where t.v is not null
order by t.d
Код:
select min(fdt), ldt, sum(v)
from ( --полученное на предыдущем этапе
       select t.d as fdt, 
       ( select min(d)-1 from t as l where v is null and l.d >t.d ) as ldt, t.v
       from t
       where t.v is not null
       order by t.d
     ) as r
group by ldt
order by ldt
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 29.06.2022 в 12:41.
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
новичок иван 888 Помощь студентам 3 05.10.2010 08:13
Новичок mendess01 Microsoft Office Excel 9 01.10.2010 17:08