Sql 如何从联合体中删除重复项,但忽略一列

Sql 如何从联合体中删除重复项,但忽略一列,sql,sql-server,sql-server-2014,Sql,Sql Server,Sql Server 2014,考虑以下数据表: 名字 姓氏 部门 史蒂夫 科尔顿 会计 斯泰西 贝克汉姆 财务 玛丽 梅西 财务 史蒂夫 科尔顿 财务 迈克尔 格雷茨基 财务 您可以使用行编号()。如果您希望每个名字有一行(您的问题所暗示的),那么: 对于副本,这将选择“会计”而不是“财务” select t.* from (select t.*, row_number() over (partition by firstname order by department) as seqnum

考虑以下数据表:

名字 姓氏 部门 史蒂夫 科尔顿 会计 斯泰西 贝克汉姆 财务 玛丽 梅西 财务 史蒂夫 科尔顿 财务 迈克尔 格雷茨基 财务
您可以使用
行编号()
。如果您希望每个名字有一行(您的问题所暗示的),那么:

对于副本,这将选择“会计”而不是“财务”

select t.*
from (select t.*,
             row_number() over (partition by firstname order by department) as seqnum
      from MyTable 
     ) t
where seqnum = 1;