问题标签 [duplicate-removal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
769 浏览

php - MySQL删除重复的反向值

我有 MySQL MyISAM 表:

表朋友(id,friend_id):

1、5

5, 1

2、6

6、2

3、7

如何删除反向记录?如果记录值«1, 5»存在值«5, 1»的记录,我需要删除«5, 1»。

感谢您的帮助!

0 投票
5 回答
10295 浏览

sql-server-2008 - 在 SSIS 中提取不同的记录

我正在编写 SSIS 包以将数据从 *.csv 文件导入 SQL 2008 DB。问题是其中一个文件包含 csv 文件中的重复记录,我只想从该源中提取不同的值。请看下图。

复制

不幸的是,生成的文件不在我的控制之下,它归第三方所有,我无法更改它们的生成方式。

我确实使用了查找组件。但它仅根据传入数据检查现有数据。它不检查传入数据中的重复记录。

0 投票
3 回答
1386 浏览

mysql - 如何在 SQL 中查找不完全相同但相似的重复字符串值

我有一个列名为 company_name(string) 的表,我需要找到该列的重复值,我不能使用 distinct 或 group by,因为它们不完全相同。例如:

我如何在 sql 中找到这样的条目,或者是否有任何 ruby​​ 库。

0 投票
2 回答
149 浏览

language-agnostic - 删除连续的、相同的、重复的文件

我有一台运行 Windows Server 2003 R2 Enterprise 的服务器,每个目录包含 50,000 到 250,000 个 1KB 文本文件。文件名是连续的(例如,MLLP000001.rcv、MLLP000002.rcv 等),相同的文件将是连续的。一旦后续文件不同,我可以预期我不会收到另一个相同的文件。

我需要一个脚本来执行以下操作,但我不知道从哪里开始。

我尝试了 DOS 批处理脚本,但这真的很麻烦,我无法跳出内部循环,并且它会自行绊倒,因为外部循环在目录中有一个文件列表,但该列表不断变化。据我所知,VBScript 没有散列函数。

0 投票
3 回答
19138 浏览

c# - 使用 LINQ 跨多个属性查找重复项

给定一个具有以下定义的类:

如何在 MyTestClass[] 数组中找到重复值?

例如,

包含重复项,因为有两个 MyTestClass 对象,其中 ValueAValueB 都 = 1

0 投票
4 回答
4781 浏览

c# - 如何从 ms 访问数据库中删除重复的行 (C#)

我一直在浏览各种网站和代码,但似乎没有什么能结束我的痛苦。它们要么帮助查找和删除特定列的重复项,要么仅从数据表中删除,而不是从底层数据库本身中删除。我想从我的 mdb 文件的表“table1”中删除重复的行。

为了使我的要求更清楚:

  1. 表中的任何列都没有设置主键(我负担不起)
  2. 我想删除所有重复的行,但一个!(顺序没有意义)
  3. 我更喜欢从数据库中删除重复项,而不是在更新数据库本身之前首先检查是否存在这样的行(如果这是最后的手段,那是不受欢迎的)
  4. 重复行是指不明显的行。例如,在以下示例中,只有第 3 行和第 5 行是重复的。我想删除其中的任何一个。

    /li>

应通过单击按钮从数据库中删除重复的行,如下所示

提前致谢。是的,我是新手。。

0 投票
4 回答
24225 浏览

c# - 从 C# 中的字符串数组中删除重复字符串的有效方法

我想知道一种从 C# 中的字符串数组中删除重复项的有效方法。

例如,

会变成,

删除重复条目后如何填补空白?有没有办法在不使用额外的数组来存储元素的情况下做到这一点?

我使用的方法:

但是寻找一种优化的方法来做同样的事情。

编辑:我正在使用 .NET 2.0 和 VS 2005

0 投票
3 回答
138 浏览

c# - 邮件在收件箱内多次显示

我有一个更像 Google Mail 风格的 PM 系统。我的意思是消息被分组到对话中。如果用户收到一条消息,它会显示在他们的收件箱中。此外,该用户向某个人发送一条消息,该人反过来回复,然后该消息也会显示在他们的收件箱中。

在两个查询中都检索到一些消息,这些消息最终被分组到一个列表中。我试图通过执行 Jon Skeet从 C# 列表中删除重复项所做的操作来删除重复项,但我仍然不断收到重复项。这是我的代码:

更新:

//MessagingService 内部 public IList GetThreads(User user) { //获取所有未回复的消息。var tmp = _repository.GetMany(c => c.DisplayInInbox.Equals(true) && c.ParentId.Equals(null)); var threads = (from c in tmp where GetReplies(user, c.Id).Count() > 0 select c).ToList(); var threadsByUser = user.ReceivedMessages.Where(m => m.DisplayInInbox.Equals(true) && m.ParentId.Equals(null)).ToList(); 线程.AddRange(threadsByUser); 线程.Distinct().ToList(); 返回线程;}

我在这里做错了吗?

0 投票
1 回答
151 浏览

java - 在受约束的多对多数据集中有效地查找重复项?

我必须为我们的 web 应用程序编写一个批量操作版本,让您在 UI 的基础上进行更有限的操作。所需的操作是将对象分配给一个类别。一个类别可以有多个对象,但给定的对象只能属于一个类别。

该任务的工作流程是:

1) 使用浏览器,上传如下形式的文件:

该文件很可能有数十到数百行,但绝对可能有数千行。

在理想的世界中,给定的对象 id 只会在文件中出现一次(反映了一个对象只能分配给一个类别的事实)但是由于文件是在我们的控制之外创建的,因此不能保证这实际上是真的并且处理必须处理这种可能性。

2)服务器将接收文件,对其进行解析,对其进行预处理并显示如下页面:

3)如果用户点击Yes按钮,服务器将实际完成工作。

由于我不想在步骤 (2) 和 (3) 中解析文件,因此作为 (2) 的一部分,我需要构建一个容器,该容器将跨越请求并保存数据的有用表示,这将使我很容易提供数据来填充“预览”页面,让我有效地完成实际工作。(虽然显然我们有会话,但我们通常只保留很少的内存会话状态。)

有一个现有的

通过 UI 完成分配时使用的函数。非常希望批量操作也使用此 API,因为除了简单分配之外,它还执行大量其他业务逻辑,并且在完成此批量分配时我们需要运行相同的业务逻辑。

最初,如果文件“非法”为给定对象指定了多个类别,这将是可以的——将对象任意分配给与其关联的文件的类别之一是可以的。

所以我最初认为,在步骤 (2) 中,当我浏览文件时,我将构建并放入交叉请求容器 a Map<CategoryId, Set<ObjectId>>(特别是HashMap用于快速查找和插入),然后当我需要完成工作时可以只在地图上进行迭代,并为每个CategoryId拉出关联Set<ObjectId>并将它们传递到assignObjectsToCategory().

但是,关于如何处理重复ObjectIds 的要求发生了变化。现在将按如下方式处理它们:

  • 如果一个ObjectId在文件中出现多次并且所有时间都与同一个相关联,则CategoryId将该对象分配给该类别。
  • 如果 anObjectId在文件中多次出现并与不同CategoryId的 s 相关联,则认为这是一个错误并在“预览”页面上提及它。

这似乎弄乱了我的Map<CategoryId, Set<ObjectId>>策略,因为它没有提供一种很好的方法来检测ObjectId我刚刚从文件中读出的文件是否已经与CategoryId.

所以我的问题是如何最有效地检测和跟踪这些重复ObjectId的?

我想到的是同时使用“正向”和“反向”映射:

然后当每(ObjectId, CategoryId)对被读入时,它会被放入两个地图中。一旦文件被完全读入,我可以这样做:

当此循环完成时,objectsByCategory将不再包含任何“非法”重复项,illegalDuplicates并将包含所有“非法”重复项,以便根据需要报告回来。然后我可以遍历objectsByCategory,获取Set<ObjectId>每个类别的 ,并调用assignObjectsToCategory()来完成任务。

但是虽然我认为这会起作用,但我担心将数据存储两次,尤其是当输入文件很大时。而且我也担心我错过了一些东西:效率,这会非常缓慢。

有没有办法做到这一点,不会使用双内存但仍然可以快速运行?我是否遗漏了一些即使使用双倍内存仍会比我预期的慢很多的东西?

0 投票
1 回答
934 浏览

sql - 根据字符串长度标准删除重复项

背景

根据名称的长度从临时表中删除重复的城市名称。

问题

以下查询返回 350,000 行:

样本数据:

我想删除所有重复项,保留以下行:

  • 人口不为空;和
  • 该名称是重复项中最长的 ( max(tc.name_lowercase));和
  • 如果这两个条件都不满足,则保留max(tc.id).

从给定的数据集中,剩余的行将是:

问题

您将如何仅选择具有重复经纬度值且符合问题标准的行?

谢谢!