【问题标题】:TSQL: finding unique entries in a single tableTSQL:在单个表中查找唯一条目
【发布时间】:2010-04-19 19:29:20
【问题描述】:

考虑如下结构的表格或 CTE:

Name    Num
----    ----
Abc     12
Abc     12
XYZ     70
XYZ     80
XYZ     85
Bar     50
Bar     55
Foo     44
Foo     44
Baz     88

要求是确定存在多个不同数字的名称

想要的结果集是

Name   
----
XYZ     
Bar     

您将使用什么 TSQL 语句来派生此结果集?

更新:确实,给定名称可能有 2 个以上的条目。

【问题讨论】:

  • 表中是否可以有两个以上的 XYZ 出现?

标签: sql sql-server tsql unique aggregate


【解决方案1】:

假设 Num 列中没有 NULL

select
   Name
from
   MySetObject
group by
   name
having
   min(num) <> max(num)
    -- also COUNT(DISTINCT Num) > 1 achieves the same

【讨论】:

  • +1,刚要发布您刚刚编辑的COUNT(DISTINCT Num) 版本
  • ;-(你打盹,你就输了。我敢肯定执行计划几乎是一样的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多