2015-12-21 58 views
1

我是新來的MySQL,並試圖從一個表中獲取每年報告的所有問題類型的列表。我想獲得:mysql 2個計數從一個表分組

2014網絡電纜1

2015年噴射失效1

。 。

2015年叉車傳感器2

但到目前爲止,所有我能得到的是:

enter image description here

SQL:

 SELECT DISTINCT * 
FROM 
    (SELECT natureOfProblem, COUNT(*) AS year2014 
    FROM problem 
    WHERE dateProblemStarted < '20150101' 
    GROUP BY natureOfProblem) a, 
    (SELECT natureOfProblem, COUNT(*) AS year2015 
    FROM problem 
    WHERE dateProblemStarted > '20141231' 
    GROUP BY natureOfProblem)b 
GROUP BY a.natureOfProblem, b.natureOfProblem; 

Table: problem

+0

我d建議將每個select子句從那裏分解出來,然後測試以確定它們是否輸出了您要查找的內容。它一次更容易一點,然後嘗試一口氣做到這一切。 – hurnhu

+1

謝謝,我已經建立了代碼,所以每個單獨的工作正常 –

回答

2
SELECT year(dateProblemStarted), natureOfProblem, count(1) 
FROM problem 
GROUP BY year(dateProblemStarted), natureOfProblem 
+0

哇感謝亞歷山大MP。這太棒了,代碼太少了 –