【问题标题】:Display a table with just the second duplicate rows removed yet keep the first row显示仅删除第二个重复行但保留第一行的表格
【发布时间】:2012-04-30 06:02:53
【问题描述】:

所以,我有一个包含 3 列的表,其中第一列由 ID 组成,最后一列由日期组成。我需要的是,按日期对表格进行排序,并删除任何较晚日期的重复 ID(并保留最早日期的 ID)。 例如, 这就是我的桌子最初的样子 -

  • 123 瑞恩 01/01/2011
  • 345 卡尔 03/01/2011
  • 123 丽莎 01/02/2012
  • 870 提亚 06/03/2012
  • 345 卡尔 07/01/2012

我希望我的结果表看起来像这样 -

  • 123 瑞恩 01/01/2011
  • 345 卡尔 03/01/2011
  • 870 提亚 06/03/2012

我正在使用 VBA 访问代码来找到上述解决方案,并且也使用了 SQL 查询,但是我的结果表要么没有任何重复,要么显示所有记录。 任何帮助将不胜感激。

【问题讨论】:

  • 向您的表格添加唯一 ID 是否适合您?
  • 不幸的是,不是。虽然我可以创建一个新表,它会在没有唯一 ID 的情况下显示该表的结果(如果有帮助的话)。我只想显示每个重复记录的第一行,包括剩余的不重复记录。

标签: ms-access vba duplicate-data


【解决方案1】:

这将创建一个新表:

SELECT tbl.SName, a.ID, a.BDate
INTO NoDups
FROM tbl 
INNER JOIN (
    SELECT  ID, Min(ADate) As BDate 
    FROM tbl GROUP BY ID)  AS a 
ON (tbl.ADate = a.BDate) AND (tbl.ID = a.ID);

【讨论】:

    猜你喜欢
    • 2016-10-28
    • 2020-03-28
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 2017-10-27
    • 2016-03-06
    • 2015-10-26
    相关资源
    最近更新 更多