【问题标题】:Oracle / SQL - Count number of occurrences of values in a single columnOracle / SQL - 计算单个列中值的出现次数
【发布时间】:2011-06-11 10:01:55
【问题描述】:

好的,我可能想出一个更好的标题,但不知道如何措辞,所以让我解释一下。

假设我有一个包含“CODE”列的表格。我表中的每条记录都将具有“A”、“B”或“C”作为“CODE”列中的值。我想要的是计算我有多少'A','B'和'C'。

我知道我可以通过 3 个不同的查询来完成此操作,但我想知道是否有办法只用 1 个查询。

【问题讨论】:

    标签: sql oracle group-by aggregate-functions


    【解决方案1】:

    用途:

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

    输出将类似于:

    code   numInstances
    --------------------
    A      3
    B      5
    C      1
    

    如果存在未使用的代码,则不会显示。您需要 LEFT JOIN 到包含代码列表的表中才能查看那些没有任何引用的代码。

    【讨论】:

    • 谢谢你,这太完美了,group by 出于某种愚蠢的原因逃离了我!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-02
    • 1970-01-01
    相关资源
    最近更新 更多