我需要显示表中所有列的所有信息,但要进行筛选,以便在重复的电子邮件中出现的所有记录都将被丢弃,并保留另一条,这样就不会有重复。
过滤器前的示例:
Name 1 | City 1 | Email 1
Name 2 | City 2 | Email 2
Name 3 | City 3 | Email 1
过滤后应显示如下:
Name 1 | City 1 | Email 1
Name 2 | City 2 | Email 2
记录3被忽略,因为它与记录1具有相同的电子邮件(重复(。
您可以使用row_number()
:
select t.*
from (select t.*,
row_number() over (partition by email order by email) as seqnum
from t
) t
where seqnum = 1;