【问题标题】:How to get just that values that are not distinct (count > 1)如何仅获取不明显的值(计数> 1)
【发布时间】:2012-09-10 05:07:36
【问题描述】:

我正在尝试(在 SQL Server 2k8 中)获取TheField 的列表,其中TheField 存在不止一次。类似于以下内容(除非我知道这是不对的):

SELECT TheField FROM TheTable WHERE COUNT(TheField) > 1

【问题讨论】:

    标签: sql sql-server vb.net visual-studio sql-server-2008


    【解决方案1】:

    使用HAVING 子句:

    SELECT TheField 
    FROM TheTable 
    GROUP BY TheField
    HAVING COUNT(TheField) > 1
    

    【讨论】:

    • Msg 8120,Level 16,State 1,Line 1 列 'TheField' 在选择列表中无效,因为它既不包含在聚合函数也不包含在 GROUP BY 子句中。
    • @DontFretBrett:添加GROUP BY TheField,我在初始代码示例中忘记了。
    • 谢谢,我会选择 Tim 的,因为他将计数包含在结果集中。我知道我没有明确要求,但这绝对有帮助
    【解决方案2】:

    您可以将GROUP BYHAVING 子句一起使用:

    SELECT TheField, COUNT(*) AS Count
    FROM TheTable 
    GROUP BY TheField
    HAVING COUNT(*) > 1
    

    指定组或聚合的搜索条件。有可以 只能与 SELECT 语句一起使用。 HAVING 通常用于 GROUP BY 子句。当不使用 GROUP BY 时,HAVING 的行为类似于 WHERE 子句。

    【讨论】:

    • 优秀。我会尽快接受(6 分钟内)
    猜你喜欢
    • 1970-01-01
    • 2020-02-06
    • 2017-07-28
    • 1970-01-01
    • 2010-12-21
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 2020-03-21
    相关资源
    最近更新 更多