powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подсчитать сумму для каждого месяца
15 сообщений из 15, страница 1 из 1
Подсчитать сумму для каждого месяца
    #40056111
Armoriel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Я не очень понимаю, как подсчитать сумму для каждого месяца. Например за '2015-10' и '2016-10'. Датасет приложил.
...
Рейтинг: 0 / 0
Подсчитать сумму для каждого месяца
    #40056116
Armoriel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался.
...
Рейтинг: 0 / 0
Подсчитать сумму для каждого месяца
    #40056124
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Armoriel,

Молодец. Обращайся если что.
...
Рейтинг: 0 / 0
Подсчитать сумму для каждого месяца
    #40056207
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо ответ написать. Это будет честно по отношению к другим читателям форума.
...
Рейтинг: 0 / 0
Подсчитать сумму для каждого месяца
    #40056525
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Надо ответ написать


Отрыл функцию, которая выдирает из даты месяц, да сделал group by с суммой по ней. Операция элементарная, просто мозги в процессе работы впали в ступор, а написание поста на форум помогло выйти из тупикового цикла.
...
Рейтинг: 0 / 0
Подсчитать сумму для каждого месяца
    #40056866
Фотография Cola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
mayton
Надо ответ написать


Отрыл функцию, которая выдирает из даты месяц, да сделал group by с суммой по ней. Операция элементарная, просто мозги в процессе работы впали в ступор, а написание поста на форум помогло выйти из тупикового цикла.

А можно примерчик?
За ранее благодарна!
...
Рейтинг: 0 / 0
Подсчитать сумму для каждого месяца
    #40056870
Фотография Cola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cola,
вот. если кому-то понадобится
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT 
EXTRACT ('day' from  "data") AS "day", 
EXTRACT ('month' from  "data") AS "manth", 
EXTRACT('year' from "data") AS "year",  
    SUM(val) AS summ
FROM scheta 
 G
ROUP BY 
  "day",
  "manth", 
  "year"
  Order by "year","manth","day"
...
Рейтинг: 0 / 0
Подсчитать сумму для каждого месяца
    #40056883
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если так?

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
select 
 date_trunc('day', "data"),
 sum(val) as sum
from 
 scheta
group by 
 date_trunc('day', "data")
ordr by 
 date_trunc('day', "data")



Не тестил. Может где-то синтаксически ошибся.
...
Рейтинг: 0 / 0
Подсчитать сумму для каждого месяца
    #40057011
Фотография Cola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть другой вопрос. Предположим, что не для каждого месяца есть результат, но нужно что бы отображались все месяцы. Соответственно месяцы без результата с нулями. Как сие сделать.
Какие мысли есть? Всем за ранее спасибо!
...
Рейтинг: 0 / 0
Подсчитать сумму для каждого месяца
    #40057072
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cola
Какие мысли есть? Всем за ранее спасибо!

Кто-то делает на субд то, что делать на ней не надо.
Cola
Есть другой вопрос. Предположим, что не для каждого месяца есть результат, но нужно что бы отображались все месяцы.

Делать таблицу/генерировать выборку с месяцами и делать left join с ней.
...
Рейтинг: 0 / 0
Подсчитать сумму для каждого месяца
    #40057132
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
join-нить c

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
select * from generate_series('2021-01-01','2022-01-01','1 months'::interval);
    generate_series     
------------------------
 2021-01-01 00:00:00+00
 2021-02-01 00:00:00+00
 2021-03-01 00:00:00+00
 2021-04-01 00:00:00+00
 2021-05-01 00:00:00+00
 2021-06-01 00:00:00+00
 2021-07-01 00:00:00+00
 2021-08-01 00:00:00+00
 2021-09-01 00:00:00+00
 2021-10-01 00:00:00+00
 2021-11-01 00:00:00+00
 2021-12-01 00:00:00+00
 2022-01-01 00:00:00+00
...
Рейтинг: 0 / 0
Подсчитать сумму для каждого месяца
    #40057156
Фотография Cola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guzya, Спасибо!!!
...
Рейтинг: 0 / 0
Подсчитать сумму для каждого месяца
    #40057182
Фотография Cola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guzya
join-нить c

Код: sql
1.
2.
3.
4.
5.
6.
select * from generate_series('2021-01-01','2022-01-01','1 months'::interval);
    generate_series     
------------------------
 2021-01-01 00:00:00+00
 2021-02-01 00:00:00+00
 


А подскажите как приджоинить запрос?
Всем за ранее спасибо!
...
Рейтинг: 0 / 0
Подсчитать сумму для каждого месяца
    #40057209
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На вскидку

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
select 
  date_trunc('month',d)
  ,sum_pay
  ,cn 
from generate_series('2020-01-01','2022-05-01','1 months'::interval) as d 
left join 
(  select
    date_trunc('month', ts) as ts
    , sum(pay) as sum_pay
    , count(*) as cn 
  from test group by  date_trunc('month', ts)
) as p on p.ts=date_trunc('month',d);


       date_trunc       | sum_pay | cn 
------------------------+---------+----
 2020-01-01 00:00:00+00 |      45 |  3
 2020-02-01 00:00:00+00 |      15 |  1
 2020-03-01 00:00:00+00 |         |   
 2020-04-01 00:00:00+00 |      30 |  2
 2020-05-01 00:00:00+00 |         |   
 2020-06-01 00:00:00+00 |         |   
 2020-07-01 00:00:00+00 |      30 |  2
 2020-08-01 00:00:00+00 |         |   
 2020-09-01 00:00:00+00 |         |   
 2020-10-01 00:00:00+00 |         |   
 2020-11-01 00:00:00+00 |         |   
 2020-12-01 00:00:00+00 |         |   
 2021-01-01 00:00:00+00 |      30 |  2
 2021-02-01 00:00:00+00 |         |   
 2021-03-01 00:00:00+00 |         |   
 2021-04-01 00:00:00+00 |         |   
 2021-05-01 00:00:00+00 |         |   
 2021-06-01 00:00:00+00 |         |   
 2021-07-01 00:00:00+00 |         |   
 2021-08-01 00:00:00+00 |         |   
 2021-09-01 00:00:00+00 |         |   
 2021-10-01 00:00:00+00 |         |   
 2021-11-01 00:00:00+00 |         |   
 2021-12-01 00:00:00+00 |         |   
 2022-01-01 00:00:00+00 |         |   
 2022-02-01 00:00:00+00 |         |   
 2022-03-01 00:00:00+00 |         |   
 2022-04-01 00:00:00+00 |         |   
 2022-05-01 00:00:00+00 |         |   
...
Рейтинг: 0 / 0
Подсчитать сумму для каждого месяца
    #40057223
Фотография Cola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guzya, еще раз спасибо!
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Подсчитать сумму для каждого месяца
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]