You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在MS Access(2007-2016)中更新重复行(排除首行)指定列值

在MS Access(2007-2016)中更新重复行(首行除外)的指定列值

需求说明

以person_id和id_addr作为分组依据,每组中保留ID最小的首行note值为空,其余重复行的note列统一设置为d。

解决步骤

  1. 定位每组重复数据的首行ID
    通过聚合查询筛选出每组重复数据中ID最小的记录(即每组的首行):

    SELECT person_id, id_addr, MIN(ID) AS MinID
    FROM 你的表名
    GROUP BY person_id, id_addr
    HAVING COUNT(*) > 1;
    
  2. 更新非首行的重复记录
    嵌套上述查询,筛选出不属于首行ID的记录,批量更新note列值:

    UPDATE 你的表名
    SET note = 'd'
    WHERE ID NOT IN (
        SELECT MinID
        FROM (
            SELECT person_id, id_addr, MIN(ID) AS MinID
            FROM 你的表名
            GROUP BY person_id, id_addr
            HAVING COUNT(*) > 1
        ) AS SubQuery
    );
    

注意事项

  • 替换语句中的你的表名为实际数据表名称;
  • Access要求嵌套查询必须指定别名(如示例中的SubQuery),否则会触发语法错误;
  • 执行更新操作前建议备份数据表,防止数据误修改。

内容的提问来源于stack exchange,提问作者alnvalnnn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 14:32:38