我有一個數據庫,讓我們假設兩列(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