2015-09-30 150 views
-1

我想要做的是删除重复的行,其中ID是重复的,并在该行中的列等于null。删除重复的条件

ex: 
id - website 
1, www.domain.com 
1, null 
1, null 
2, www.test.com 
2, null 

它应该是什么:

1, www.domain.com 
2, www.test.com 

所以我在做什么,简直就是将两个表一起,并在结果中添加,但问题是,一个表有一个几个记录ID,所以每个ID包含一个空值会有额外的行。当一个ID有多行并且该行等于空时,如何从查询中删除重复记录。

回答

2

如果所有的副本都NULL,那么你不需要distinct都:

select id, website 
from table t 
where website is not null; 

卸下distinct(如果它是没有必要的)可以提高性能。

3
SELECT DISTINCT id, website 
FROM your_table 
WHERE website IS NOT NULL