У меня есть база данных с, позволяет, принимают два столбца (service_date и invoice_amount). Я хотел бы создать SQL-запрос, который получит и сгруппирует данные в течение каждого финансового года (С июля по июнь).
У меня есть два года данных так, чтобы были два финансовых года (т.е. 2 результата).
Я знаю, что могу сделать, это вручную путем создания SQL-запроса для группировки к месяцу затем выполняет данные через PHP для создания данных финансового года, но у меня был бы SQL-запрос.
Все приветствующиеся идеи.
Спасибо
SELECT
CASE WHEN MONTH(service_date)>=7 THEN
concat(YEAR(service_date), '-',YEAR(service_date)+1)
ELSE concat(YEAR(service_date)-1,'-', YEAR(service_date)) END AS financial_year,
SUM(invoice_amount)
FROM mytable
GROUP BY financial_year
, которые производят o / p, как показано ниже
financial_year invoice_amount
2007-2008 10000.00
2008-2009 15000.00
2009-2010 20000.00
Это работает для меня в MSSQL .. Надеюсь, это сработает для вас в MySQL
SELECT
CASE WHEN MONTH(service_date)>=7 THEN
YEAR(service_date)+1
ELSE YEAR(service_date) END AS financial_year,
SUM(invoice_amount)
FROM mytable
GROUP BY
CASE WHEN MONTH(service_date)>=7 THEN
YEAR(service_date)+1
ELSE YEAR(service_date)