Получите сумму результатов финансового года и группы SQL соответственно - PullRequest
0 голосов
/ 27 августа 2018

Я использую следующий код для создания таблицы:

 CREATE TABLE PaL (
    country TEXT,
    Day DATE,
    Revenue CHAR(255),
    Costs CHAR(255)
);


INSERT INTO PaL 
(country, Day, Revenue, Costs)
VALUES

("DE", "2017-01-31", "5600", "-3000"),
("DE", "2017-02-28", "3900", "-1550"), 
("DE", "2017-03-31", "4100", "-2200"),
("DE", "2017-04-30", "7200", "-5000"),
("DE", "2017-05-31", "5300", "-4000"),
("DE", "2017-06-30", "8800", "-6550"), 
("DE", "2017-07-31", "1120", "-500"),
("DE", "2017-08-31", "5000", "-3250"),
("DE", "2017-09-30", "2600", "-1225"),
("DE", "2017-10-31", "9200", "-8350"), 
("DE", "2017-11-30", "5100", "-2995"),
("DE", "2017-12-31", "3950", "-3400"),

("DE", "2018-01-31", "7840", "-6985"),
("DE", "2018-02-28", "9358", "-1452"), 
("DE", "2018-03-31", "2225", "-1655"),
("DE", "2018-04-30", "3820", "-2950"),
("DE", "2018-05-31", "9587", "-8500"),
("DE", "2018-06-30", "3000", "-2785"), 
("DE", "2018-07-31", "5450", "-4500"),
("DE", "2018-08-31", "3800", "-2650"),
("DE", "2018-09-30", "9000", "-7456"),
("DE", "2018-10-31", "7780", "-6900"), 
("DE", "2018-11-30", "6585", "-5450"),
("DE", "2018-12-31", "1280", "-850"),

("DE", "2019-01-31", "6585", "-5450"),
("DE", "2019-02-28", "1280", "-850");

Затем я использую следующий код для запроса дохода от него:

Select country, sum(Revenue)
From Pal
Where Day Between '2017-03-01' AND '2017-02-28'
Group By country

Вы также можете найти все в скрипте SQL здесь
Пока все это прекрасно работает.


Однако моя цель состоит в том, чтобы результат SQL в конце выглядел так:

 Fiscal Year      Country                    Values
    2017            DE          Sum from 2017-03-01 - 2018-02-28
    2018            DE          Sum from 2018-03-01 - 2019-02-28

Что я должен изменить в своем коде, чтобы получить желаемый результат?

1 Ответ

0 голосов
/ 27 августа 2018

Вы можете рассчитать финансовый год, вычитая 2 месяца и извлекая год. Итак:

Select year(day - interval 2 month) as fy,
      country, sum(Revenue)
From Pal
Group By fy, country
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...