Oracle/SQL - 统计单列中值的出现次数

20

好的,也许我可以想出一个更好的标题,但是不确定如何表达,所以让我解释一下。

假设我有一个带有列 'CODE' 的表格。我的每个记录在'CODE'列中都会有'A'、'B'或'C'作为它的值。我想要的是得到我有多少个 'A's、'B's 和 'C's 的数量。

我知道我可以用三个不同的查询来完成这个任务,但我想知道是否有一种方法可以只用一个查询就实现。

1个回答

48

使用:

  SELECT t.code,
         COUNT(*) AS numInstances
    FROM YOUR_TABLE t
GROUP BY t.code

输出结果将类似于:
code   numInstances
--------------------
A      3
B      5
C      1

如果存在未被使用的代码,则不会显示出来。您需要左连接到包含代码列表的表格,才能看到那些没有任何引用的代码。

谢谢,太完美了!分组操作之前就被我愚蠢地遗忘了。 - dscl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接