Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TSQL: finding unique entries in a single table

Consider a table or CTE structured like this:

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

The requirement is to determine the Name where multiple different Nums exist.

The desired resultset is

Name   
----
XYZ     
Bar     

What TSQL statement would you use to derive this resultset?

Update: indeed there could be 2+ entries for a given Name.

like image 381
p.campbell Avatar asked Jan 22 '23 05:01

p.campbell


1 Answers

Assumes no NULLs in Num column

select
   Name
from
   MySetObject
group by
   name
having
   min(num) <> max(num)
    -- also COUNT(DISTINCT Num) > 1 achieves the same
like image 181
gbn Avatar answered Jan 24 '23 19:01

gbn