2015-12-21 56 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。这太棒了,代码太少了 –