在 Oracle SQL 中按其他字段中的唯一值计数

哈维

我有这样的表:

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 大。

戈登·利诺夫

您正在寻找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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章