|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.06.2022, 15:45 | #1 |
Регистрация: 08.06.2013
Сообщений: 6
|
Новичок в теме
у меня есть таблица(дата, значение). значения дата не имеет пропусков. столбец со значениями имеет пропуски(NULL). Необходимо в промежутки между NULL найти сумму всех значений, при этом таблица должна выглядеть(дата_начала, дата_конца, сумма)
|
27.06.2022, 16:24 | #2 |
Форумчанин
Регистрация: 27.04.2022
Сообщений: 493
|
У вас неправильная архитектура, должно быть поле объединяющее эти значения (ключ для группы значений) по которому можно провести группировку и получить искомые значения.
В теории если создавать архитектуру бд по всем правилам нормализации, то значения null в бд вообще быть не должно. На практике чаще всего применяют только первые три закона нормализации. В любом случае ориентироваться на null для получения диапазонов это плохая идея.
стимулятор https://yoomoney.ru/to/41001303250491
Последний раз редактировалось Valick; 27.06.2022 в 16:29. |
27.06.2022, 17:16 | #3 |
Регистрация: 08.06.2013
Сообщений: 6
|
Valick, спасибо
|
27.06.2022, 19:39 | #4 |
Форумчанин
Регистрация: 27.04.2022
Сообщений: 493
|
sanekgyrev, для спасибо время ещё не настало. Расскажите подробнее как происходит заполнение этой таблицы, а ещё лучше опишите и её сущность. В таких вопросах не бывает лишней информации.
стимулятор https://yoomoney.ru/to/41001303250491
|
27.06.2022, 20:35 | #5 |
Регистрация: 08.06.2013
Сообщений: 6
|
Valick, если говорить откровенно, хотел узнать как в таком случае можно найти заданную сумму. пример привел, чтобы понять в какую сторону двигаться. как в данном случае можно рассчитать сумму, ибо возможно от большого количества информации большая каша в голове))
|
27.06.2022, 20:49 | #6 |
Регистрация: 08.06.2013
Сообщений: 6
|
Valick, вот например есть такие данные:
01.01.2016 2 02.01.2016 3 03.01.2016 4 04.01.2016 null 05.01.2016 6 06.01.2016 8 07.01.2016 null 08.01.2016 1 09.01.2016 5 10.01.2016 null 11.01.2016 1 а мне необходимо получить: 01.01.2016 03.01.2016 9 05.01.2016 06.01.2016 7 08.01.2016 09.01.2016 6 11.01.2016 11.01.2016 1 |
27.06.2022, 21:30 | #7 |
Форумчанин
Регистрация: 27.04.2022
Сообщений: 493
|
sanekgyrev, вы пытаетесь лечить симптомы, а не саму болезнь. Я же спросил как именно данные попадают в эту таблицу. Если это какой то искусственный пример, то вряд ли вы получите конкретный ответ.
стимулятор https://yoomoney.ru/to/41001303250491
|
28.06.2022, 09:15 | #8 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
1. Непустые (рабочие) значения и даты
Код:
Код:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 28.06.2022 в 09:18. |
28.06.2022, 18:30 | #9 |
Регистрация: 08.06.2013
Сообщений: 6
|
evg_m, да, по первому у меня такая же была мысль убрать пустые. тут может неправильно разьяснил), у нас есть даты и значения, необходимо найти сумму всех дней, находящихся между NULL. Логика вроде такая, что я должен удалить пустые даты и суммировать значения, пока дата не будет равна "день+1"
вот например есть такие данные: 01.01.2016 2 02.01.2016 3 03.01.2016 4 04.01.2016 null 05.01.2016 6 06.01.2016 8 07.01.2016 null 08.01.2016 1 09.01.2016 5 10.01.2016 null 11.01.2016 1 а мне необходимо получить: 01.01.2016 03.01.2016 9 05.01.2016 06.01.2016 7 08.01.2016 09.01.2016 6 11.01.2016 11.01.2016 1 |
28.06.2022, 18:36 | #10 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
а почему 05.01.2016 06.01.2016 7, а не 14? 8 + 6 = 14
Последний раз редактировалось macomics; 28.06.2022 в 18:40. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
новичок | иван 888 | Помощь студентам | 3 | 05.10.2010 08:13 |
Новичок | mendess01 | Microsoft Office Excel | 9 | 01.10.2010 17:08 |