我有以下查詢是拉數據罰款。它目前按月份和年份分組數據。我試圖將月度數據從一個月的第19個月分組到第二個月的第18個月,以便它符合我們的財務月份而不是ca月。這可能嗎?MySQL在集團中的抵消日期由
SELECT
sum(invoice.invoice_amount_payable)AS invoice_totals,
company.company_label AS company_label,
MONTHNAME(invoice.invoice_date_paid)AS MONTH,
YEAR(invoice.invoice_date_paid)AS YEAR
FROM
invoice
INNER JOIN company ON invoice.company_id = company.company_id
WHERE
invoice.invoice_active = 1
AND invoice.invoice_status_id = 7
AND invoice.invoice_date_deleted = 0
AND invoice.invoice_date_paid >= '2009-1-1'
AND invoice.invoice_date_paid <= '2011-8-20'
GROUP BY
MONTH(invoice.invoice_date_paid),
YEAR(invoice.invoice_date_paid)
ORDER BY
YEAR(invoice.invoice_date_paid),
MONTH(invoice.invoice_date_paid)
可以在一組,由參數,所以'集團做任意的計算通過IF(...日期偏移量計算...,1,0)'會起作用。 –
@Marc B - 你能否稍微解釋一下,我能否以這種方式將我所有的月份分組。所以我最終會說24個不同的團體兩年?謝謝。 – Joseph
創建一個計算財年/月的UDF。然後,您可以執行一個簡單的「GROUP BY財務(invoice_date_paid)」,並根據您的會計年度自動創建適當的年/月分組。有關UDF的詳細信息,請訪問:http://dev.mysql.com/doc/refman/5.1/en/create-function-udf.html。您可以直接在查詢中進行財務計算,但很可能您希望在其他地方重新使用它,所以UDF是可取的。 –