Выписка месяца и года из postgresql - PullRequest
0 голосов
/ 02 августа 2020

У меня есть таблица со столбцом даты.

+-----------+-------+
|   Date    | xx    |
+-----------+-------+
| 6/29/2020 |   45  |
| 3/6/2018  |   89  |
| 6/30/2020 |   69  |
| 5/6/2019  |   45  |
| 5/12/2019 |   89  |
| 6/4/2019  |   72  |
| 4/27/2019 |   69  |
| 6/29/2020 |   48  |
| 6/30/2020 |   36  |
| 6/4/2019  |   57  |
+-----------+-------+

Мне нужно извлечь месяц и год из этого столбца и добавить как 2 отдельных столбца и подвести итог путем суммирования «xx».

+------+-------+-----+
| Year | Month | Sums|
+------+-------+-----+
| 2018 |     3 |  89 |
| 2019 |     4 |  69 |
| 2019 |     5 | 134 |
| 2019 |     6 | 129 |
| 2020 |     6 | 198 |
+------+-------+-----+

Я пробовал ниже, но не подводит итоги по годам и месяцам.

select extract(month from datee), extract(year from datee), sum(xx) sums from table1
group by datee

Ответы [ 3 ]

0 голосов
/ 02 августа 2020

Вам нужно сгруппировать по году и месяцу, который вы извлекли, а не по «сырой» дате:

SELECT   EXTRACT(MONTH FROM datee), EXTRACT(YEAR FROM datee), SUM(xx) sums
FROM     table1
GROUP BY EXTRACT(MONTH FROM datee), EXTRACT(YEAR FROM datee)
0 голосов
/ 02 августа 2020

Цель здесь - преобразовать date в требуемую группу по формату - в данном случае год-месяц.

select to_char(datee, 'YYYY-MM'), sum(counter) from date_mon_y group by to_char(datee, 'YYYY-MM');
0 голосов
/ 02 августа 2020

Смотрите, я запускаю этот запрос select extract(month from col) from table1;, и он работает. В вашем столбце запроса есть имя «datee». Вы уверены, что это правда? Кроме того, если имя вашей таблицы / столбца содержит заглавные буквы, вам необходимо поместить его в одинарные кавычки ''.

...