一直試圖將一個將查詢數據排序爲財務年度(我已排序)的SQL查詢,然後根據claim_id列中的每個不同值對其進行求和。不同行的SQL SUM ....我卡住了!
表結構爲:claim(id,claim_id,日期,金額)
SQL至今:
SELECT
CASE
WHEN MONTH(date)>=4 THEN
concat(YEAR(date), '-',YEAR(date)+1)
ELSE
concat(YEAR(date)-1,'-', YEAR(date))
END AS fyear,
SUM(amount) AS total, claim_id
FROM claim
GROUP BY fyear, claim_id
ORDER BY claim_id ASC, date ASC
目前我得到這個
Array
(
[fyear] => 2009-2010
[total] => 567.89
[claim_id] => 1
)
這是非常接近,只是因爲GROUP BY的當然claim_id我得到另一個數組爲每個不同的claim_id:
Array
(
[fyear] => 2009-2010
[total] => 106.76
[claim_id] => 2
)
什麼其實我喜歡的是:
Array
(
[fyear] => 2009-2010
[total1] => 567.89
[total2] => 106.76
)
任何建議請?
謝謝!
嘗試清理SQL語句格式。 4個空格縮進代碼。 – 2010-07-04 15:31:07
爲什麼你真的需要它在列上?在行中有數據有什麼問題!? – 2010-07-04 15:41:08
因爲我想要動態填充表,表中的每一行都有日期,則總共爲每個不同的claim_id列。如果數據從SQL中排出一行,只需加載使用php更容易構建表。除非有更好的方式來做到這一點,我錯過了...... – James 2010-07-04 15:48:47