目标: 使用SqlServer 2005,选择多个列,但确保1个特定的列不是重复的
问题: 以下代码不会删除重复项。重复的字段是电子邮件。
SELECT DISTINCT email, name, phone FROM database.dbo.table WHERE status = 'active' GROUP BY email, name, phone
预先感谢您的任何意见,建议或建议。
它会删除重复的电子邮件,但您必须确定所需的姓名和电话。结果基于名称,电话排序顺序。
WITH cl as ( SELECT email, name, phone, ROW_NUMBER() OVER(PARTITION BY email ORDER BY name, phone) rn FROM database.dbo.table WHERE status = 'active') select * from cl where rn =1