仅更新表列中的重复值

时间:2017-07-30 15:23:36

标签: sql vba ms-access

update field in query access with duplicate field

我有一个包含重复值的列的表。我想通过递增1来更新重复值(不是第一个实例),以便我可以删除该列中的重复项。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您需要在电话用户名上排名。这将给你排名。

SELECT *, (select count(table1.username) 
from table1 as tbl2 
where table1.tel >= tbl2.tel and table1.username=tbl2.username)
as rank from table1 ORDER BY username,tel;

如果您的活动列始终为T,那么您可以在查询中对其进行硬编码,如下所示:

SELECT *, (select count(table1.username) from
table1 as tbl2 
where table1.tel >= tbl2.tel and table1.username=tbl2.username) & 'T' 
as rank from table1 ORDER BY username,tel

如果Table1中的活动列可能不同,则将第一个查询保存为query1并使用此连接查询:

SELECT Table1.active & query1.rank AS Expr1, Table1.tel, Table1.username
FROM Table1 INNER JOIN Query1 ON Table1.ID = Query1.ID;

如果您没有ID列,请将其添加到Table1。