爲不同產品創建月度銷售彙總。贊恩邊張貼在這裏非常有幫助創建查詢產生的一行單品:具有月份列和多個字段行的mysql交叉表
Income Source Jan Feb Mar -- Total Pct
Report Fees 11285 12745 17980 ... 236970 95.9954
下面是查詢:
SELECT "Report Fees" AS `Income Source`,
SUM(IF(MONTH(b.ord_billed_time) =1, b.ord_fee_report, 0)) AS Jan,
SUM(IF(MONTH(b.ord_billed_time) =2, b.ord_fee_report, 0)) AS Feb,
SUM(IF(MONTH(b.ord_billed_time) =3, b.ord_fee_report, 0)) AS Mar,
"..." AS `--` ,
SUM(b.ord_fee_report) AS Total,
AVG(b.ord_fee_report/b.ord_fee_total) *100 AS Pct
FROM orders b
WHERE b.ord_billed_time IS NOT NULL
AND b.ord_cancelled_time IS NULL
AND b.ord_fee_report IS NOT NULL
AND year(b.ord_billed_time) = 2012
AND b.clientID = 8
有沒有辦法讓我得到擴大這一單查詢8行,每種不同的收入類型和「總計」行?事情是這樣的:
Income Source Jan Feb Mar -- Total Pct
Report Fees 11285 12745 17980 ... 236970 95.9954
Income Type2 5401 3320 1394 ... 13456 0.321
Income Type3 98 421 14 ... 1102 0.001
...
Total 333333 22222 11111 ... 9999999 100.0
收入類型存儲在在單獨的列訂單表:ord_fee_x,ord_fee_y,ord_fee_z等
現在我正在8查詢和加載結果到一個數組,然後從該數組中顯示。看起來效率更高,一次全部獲取數據並逐行顯示返回。
有沒有辦法做到這一點?
當你想給感謝或更多的信息,你應該使用評論 - 而不是答案。 – Damiqib 2013-04-27 16:28:32
Damiqib:對不起,這個網站是新手。將來會這樣做。 – Bruce 2013-04-28 17:22:38