0

我有这样的表:

Year    Month   Type
2013    4   31
2013    3   31
2014    5   40
2014    6   41
2015    5   31
2015    7   40
2013    4   31
2013    3   31
2014    5   40
2014    6   41
2015    5   31
2015    7   40
2013    4   31
2013    3   31

我想计算每个组合的出现次数。所以输出应该是这样的:

Year    Month   Type    Count_of_appearance
2013    3   31  3
2013    4   31  3
etc..           

我一直在使用类似的东西:

SELECT Year,
       Month,
       Type,
       (SELECT COUNT (*)
          FROM myTable
         WHERE (...im lost in defining a condition in order to make this work...)
           AS Count_of_appearance
  FROM employee;

我在定义功能 WHERE 子句时迷失了。

问题是我有很多这样的字段和很多独特的价值。表是 8Gb 大。

4

1 回答 1

1

您正在寻找GROUP BY

SELECT Year, Month, Type, COUNT(*) AS Count_of_appearance
FROM employee
GROUP BY Year, Month, Type
ORDER BY Year, Month, Type;

为确保结果的顺序正确,您还应该包括一个ORDER BY

于 2019-06-05T11:32:36.370 回答