Select unique values for one column
create table test(set_name text, value int);
insert into test values
('a', 1),('a', 2),('b', 2),('b', 3),
('b', 4),('c', 3),('c', 5);



You can use a Window function and a CTE (you can move the CTE part to a subquery), to get the desired result.




;with x as
(
    select set_name, value, 
           count(value) over (partition by value) cnt
    from   test
)
select set_name, value
from   x
where  cnt = 1;



set_name | value
:------- | ----:
a        |     1
b        |     4
c        |     5



dbfiddle here