我有一个数据库,让我们假设两列(service_date & invoice_amount)。我想创建一个SQL查询来检索和分组每个财政年度(7月到6月)的数据。SQL查询检索按年分组的财务年数据
我有两年的数据,所以这是两个财政年度(即2个结果)。
我知道我可以通过创建一个SQL查询来按月分组然后通过PHP运行数据来创建财务年度数据,但我宁愿有一个SQL查询。
欢迎任何想法。
感谢
我有一个数据库,让我们假设两列(service_date & invoice_amount)。我想创建一个SQL查询来检索和分组每个财政年度(7月到6月)的数据。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)
嘿其离奇,你怎么知道他的桌子也叫做mytable?并且您使用了带有下划线的financial_year .. – CResults 2010-04-07 11:40:43
我使用示例表检查了它。上面的查询只是例子,我不知道他的表名是什么。我在我自己的浏览器中检查它,我发现它是正确的,所以我显示示例o/p知道他们会得到什么 – Salil 2010-04-07 12:15:25
感谢您的帮助伴侣。完美的作品。 – mlevit 2010-04-08 21:11:42