使用条件删除重复项
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
(如果不需要)可以提高性能。
我想要做的是删除一个重复的行,其中 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
(如果不需要)可以提高性能。