我希望這是可能的MYSQL,我用PHP腳本。MYSQL MULTIPLE COUNT AND SUM
我想在table1上根據每個月基於個別條件和分組創建多個SUM值和COUNT列。這些表格已通過會議加入。 我有兩個表monthlyreport(table1)&播種機(表2)。
期望的結果是在表格1
月報(表1)
REPORTID|ACCOUNTID|COMPMONTH|SUMtoDATE|COUNTtoDATE|SUMcompDATE|COUNTcompDATE|
1 | 190 | JAN | 150 | 2 | 150 | 2 |
2 | 190 | FEB | 0 | 0 | 100 | 1 |
花盆(表2)
PlanterID | ACCOUNTID |PLANTER | SALARY | compDATE | toDATE |
1 | 190 | aaa | 100 | Jan-1-2013 | Jan-05-2013 |
2 | 190 | bbb | 50 | Jan-9-2013 | Jan-12-2013 |
3 | 190 | aaa | 100 | Feb-1-2013 | Mar-12-2013 |
4 | 190 | bbb | 0 | Mar-5-2013 | Mar-12-2013 |
與內一個單一的查詢加入已經工作,但如果我同時運行,我什麼也得不到,因爲如果可能的話,我似乎無法得到邏輯。
這是我到目前爲止從stackoverflow但獲取錯誤。 希望有人可以重構或使其工作。
SELECT *,
(
SELECT COUNT(planters.todate), SUM(planters.todate)
FROM monthlyreport
INNER JOIN planters ON monthlyreport.accountid = planters.accountid
WHERE monthlyreport.accountid = 190 AND MONTH(monthlyreport.compmonth) = MONTH(planters.todate)
GROUP BY monthlyreport.mthreportid, month(planters.todate)
) AS count_1,
(
SELECT COUNT(planters.compdate), SUM(planters.compdate)
FROM monthlyreport
INNER JOIN planters ON monthlyreport.accountid = planters.accountid
WHERE monthlyreport.accountid = 190 AND MONTH(monthlyreport.compmonth) = MONTH(planters.compdate)
GROUP BY monthlyreport.mthreportid, month(planters.compdate)
) AS count_2
結果中期望的字段是什麼?從查詢中看起來您想要所有字段,但對我來說沒有任何商業意義,您能解釋一下 – skv
請參閱表1.我希望得到count的sql結果並在那裏分組。 SUMtoDATE | COUNTtoDATE | SUMcompDATE | COUNTcompDATE是查詢的總和和結果。 – user2698446
你可以共享這兩個表的模式嗎? – shola