使用条件删除重复项

Remove duplicates with a criteria

我想要做的是删除一个重复的行,其中 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

所以我正在做的,只是简单地将两个 table 连接在一起,然后添加结果,但问题是一个 table 有一个 ID 的多个记录,所以会有是每个包含空值的 ID 的额外行。当ID有多行且该行为空时,如何从查询中删除重复记录。

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

如果所有重复项都有 NULL,那么您根本不需要 distinct

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

删除 distinct(如果不需要)可以提高性能。