Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
 Аватар для Boroda76
0 / 0 / 0
Регистрация: 18.04.2017
Сообщений: 30

Посчитать сумму по неделям

09.06.2017, 18:20. Показов 3152. Ответов 1

Студворк — интернет-сервис помощи студентам
Добрый день.
Есть самописная crm весь backend на java и PostgreSQL.
В ней имеется отчет, в котором отображены суммы выставленных счетов по неделям и сумма отгрузок по неделям (по сути это активные договоры, т.е. в которых по идее должна была быть отгрузка в данную неделю, но могла и не быть). Запрос выглядит так:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
WITH cycles AS (
                SELECT c.first_date, SUM(c.total_price) AS cycle_sum
                FROM school_year sy
                LEFT JOIN annex a ON sy.id = a.school_year_id
                LEFT JOIN cycle c ON a.id = c.annex_id
                WHERE sy.name='16-17'
                GROUP BY c.first_date
                ORDER BY c.first_date)
                , cycle_items AS (
                SELECT w.start_date, SUM(ci.total_price) AS cycle_item_sum
                FROM school_year sy
                LEFT JOIN annex a ON sy.id = a.school_year_id
                LEFT JOIN cycle c ON a.id = c.annex_id
                LEFT JOIN cycle_item ci ON c.id = ci.cycle_id
                LEFT JOIN week w ON ci.week_id = w.id
                WHERE sy.name='16-17' AND w.start_date IS NOT NULL
                GROUP BY w.start_date
                ORDER BY w.start_date
                )
                SELECT cycle_items.start_date, cycles.cycle_sum, cycle_items.cycle_item_sum
                FROM cycle_items LEFT JOIN cycles ON cycle_items.start_date = cycles.first_date
                ORDER BY cycle_items.start_date
Задача добавить четвертый столбец, в котором будут суммы платежей по в эти недели.
Сразу добавлю, что в первом столбце из запроса вычисляются даты начала недель и в java правятся как string в промежуток.
Есть таблица с платежами, в ней поля: id, payment_date, payment_value, annex_id, payment_type, bso_number. Нас интересует sum(payment.payment_value) где payment_date>week.start_date AND payment.payment_date<week.end_date

Пробовал так:
SQL
1
2
3
4
5
SELECT SUM(payment.payment_value), week.start_date
FROM payment, week
WHERE week.school_year_id=51 AND payment.payment_date>=week.start_date AND payment.payment_date<=week.end_date
GROUP BY week.start_date
ORDER BY week.start_date
Но строк в выдаче 18, а должно быть 36 (по кол-ву учебных недель), что не так?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.06.2017, 18:20
Ответы с готовыми решениями:

Посчитать сумму числового ряда+посчитать сумму ряда для 9 слагаемых
задача №1 у(n)=1-x+x^2-...+(-x)^n Посчитать сумму числового ряда для 9 слагаемых задача №2 Посчитать сумму числового ряда. ...

Посчитать сумму всех чётных чисел от 0 до 100 и вывести сумму на экран
Посчитать сумму всех чётных чисел от 0 до 100 и вывести сумму на экран. c#

Посчитать сумму и найти количество членов ряда, которые вошли в сумму.
Посчитать сумму и найти количество членов ряда, которые вошли в сумму. (смысл заключается в том, что надо посчитать значение этой суммы)....

1
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
10.06.2017, 04:07
Без схемы данных сложно понять что и как у вас тут связано. Вероятно нужно использовать LEFT JOIN, как в верхних запросах.
Сейчас выбирает только те недели, в которые были платежи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.06.2017, 04:07
Помогаю со студенческими работами здесь

Посчитать сумму элементов главной диагонали и вывести сумму на консоль
Написать программу, которая будет считать сумму элементов главной диагонали и выводить сумму на консоль.

Посчитать сумму цифр и сумму делителей данного целого числа
помогите пожалуйста Составить программу, которая решает следующие задачи, используя только переменные динамической памяти: посчитать...

Посчитать сумму столбцов двухмерного массива и вывести сумму каждого столбца в одномерный массив
Посчитать сумму столбцов двухмерного массива и вывести сумму каждого столбца в одномерный массив. Мне считает сумму первого столбца и...

Функция: посчитать сумму элементов динамического массива, перераспределить память и добавить сумму в конец
функция считает сумму элементов массива, перераспределяет память и добавляет сумму в конец, при перераспределении памяти (realloc) возможно...

Посчитать сумму четных и сумму нечетных чисел на отрезке [a; b].
Четные или Нечетные Имя входного файла: стандартный ввод Имя выходного файла: стандартный вывод Ограничение по времени: 1 секунда ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru