我意识到不同或分组可以消除重复,但我想更进一步。有一种简单的方法,如果一个字段不是唯一的,那么根本不显示它?我想要零行和非唯一值,而不是简单地将它总结为一行。
我可能会为此存储一个存储过程,但我希望有一种更简单的方法。
答案 0 :(得分:2)
group by
和having
count
可以找出唯一的值,然后使用IN
获取相应的行:
select *
from your_table
where col in (
select col
from your_table
group by col
having count(*) = 1
);
答案 1 :(得分:0)
使用
select SomeColumn
from MyTable
group by SomeColumn
having count(someOtherColumn) < 2