标签: duplicate-removal

如何删除完全重复的行

假设我的表中有重复的行,而且我的数据库设计是第3类: -

Insert Into tblProduct (ProductId,ProductName,Description,Category) Values (1,'Cinthol','cosmetic soap','soap');
Insert Into tblProduct (ProductId,ProductName,Description,Category) Values (1,'Cinthol','cosmetic soap','soap');
Insert Into tblProduct (ProductId,ProductName,Description,Category) Values (1,'Cinthol','cosmetic soap','soap');
Insert Into tblProduct (ProductId,ProductName,Description,Category) Values (1,'Lux','cosmetic soap','soap');
Insert Into tblProduct (ProductId,ProductName,Description,Category) Values (1,'Crowning Glory','cosmetic soap','soap');
Insert Into tblProduct (ProductId,ProductName,Description,Category) Values (2,'Cinthol','nice soap','soap');
Insert Into tblProduct (ProductId,ProductName,Description,Category) Values (3,'Lux','nice soap','soap');
Insert Into tblProduct (ProductId,ProductName,Description,Category) Values (3,'Lux','nice soap','soap');
Run Code Online (Sandbox Code Playgroud)

我希望每个表中只有1个实例存在于我的表中.因此,2nd, 3rd and last row应该删除完全相同的whcih.我可以为此写什么查询?可以在不创建临时表的情况下完成吗?只需一个查询?

提前致谢 :)

sql t-sql sql-server duplicate-removal sql-server-2008

7
推荐指数
1
解决办法
1148
查看次数

SQL:删除重复记录 - 虽然不同类型

请考虑下表:

TAB6
         A          B C
---------- ---------- -
         1          2 A
         2          1 A
         2          3 C
         3          4 D
Run Code Online (Sandbox Code Playgroud)

我认为,记录{1,2,A}和{2,1,A}是重复的.我需要选择并生成以下记录集:

         A          B C                      A          B C
---------- ---------- -             ---------- ---------- -
         1          2 A         or           2          1 A
         2          3 C                      2          3 C
         3          4 D                      3          4 D
Run Code Online (Sandbox Code Playgroud)

我尝试了以下查询.但无济于事.

select t1.*
from t6 t1
, t6 t2
where t1.a <> t2.b
and t1.b <> t2.a
and t1.rowid <> t2.rowid
/

         A          B C
---------- ---------- - …
Run Code Online (Sandbox Code Playgroud)

sql oracle duplicate-data duplicate-removal

7
推荐指数
1
解决办法
514
查看次数

SQL - 如何按上次输入的值删除重复的行?

我从这个链接有这个代码:如何删除重复的行?

 ;WITH cte
 AS (SELECT ROW_NUMBER() OVER (PARTITION BY person_id, date_work, hours
                                   ORDER BY ( SELECT 0)) RN
     FROM   work_hours)
 DELETE FROM cte
 WHERE  RN > 1
Run Code Online (Sandbox Code Playgroud)

是否可以删除第一个输入的重复行或我应该有一个额外的列date_of_entry?我想这样做,如果我输入相同的date_work和不同的小时,PARTITION BY person_id, date_work它删除随机重复.

如果不可能,我怎样才能删除更高时间的重复项?

sql sql-server duplicate-removal

7
推荐指数
1
解决办法
1573
查看次数

删除 Excel 单元格中的重复项

假设我在一个 Excel 单元格中有以下文本字符串:

John John John Mary Mary
Run Code Online (Sandbox Code Playgroud)

我想在另一个单元格上创建一个公式(所以没有菜单功能或 VBA,请)

John Mary
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

到目前为止我尝试过的是在互联网上搜索有关该问题的内容,我所能找到的只是涉及 Excel 的内置重复删除或涉及countif 和替换"". 我还查看了 Excel 函数列表,尤其是“文本”类别中的函数列表,但找不到任何可以在一个单元格上完成的有趣内容。

excel cell duplicates excel-formula duplicate-removal

7
推荐指数
2
解决办法
4万
查看次数

array_unique也可以用于对象数组吗?

有没有比使用array-walk和unserialize更好的方法?

我有两个包含对象的数组.对象可以相同也可以不同.我想合并两个数组并只保留唯一对象.

在我看来,这对于一些如此微不足道的事情来说是一个很长的解决方案.还有其他方法吗?

class Dummy
{
    private $name;
    public function __construct($theName) {$this->name=$theName;}
}

$arr = array();
$arr[] = new Dummy('Dummy 1');
$arr[] = new Dummy('Dummy 2');
$arr[] = new Dummy('Dummy 3');

$arr2 = array();
$arr2[] = new Dummy('Dummy 1');
$arr2[] = new Dummy('Dummy 2');
$arr2[] = new Dummy('Dummy 3');

function serializeArrayWalk(&$item)
{
    $item = serialize($item);
}

function unSerializeArrayWalk(&$item)
{
    $item = unserialize($item);
}

$finalArr = array_merge($arr, $arr2);
array_walk($finalArr, 'serializeArrayWalk');
$finalArr = array_unique($finalArr);
array_walk($finalArr, 'unSerializeArrayWalk');

var_dump($finalArr);
Run Code Online (Sandbox Code Playgroud)

php arrays duplicate-removal

6
推荐指数
0
解决办法
2381
查看次数

如何防止在选择查询中选择重复行?

我被赋予了从Oracle数据库中选择关键数据的任务,但我注意到我的select正在返回重复的行.我不需要它们用于我的报告但我不希望它们删除它们.有人可以帮助只获取我需要的数据.我尝试了以下代码,但这没有用.

SELECT distinct bbp.SUBCAR "Treadwell",
       bbp.BATCH_ID "Batch ID",
       bcs.SILICON "Si",
       bcs.SULPHUR "S",
       bcs.MANGANESE "Mn",
       bcs.PHOSPHORUS "P",
       to_char(bcs.SAMPLE_TIME, 'dd-MON-yy hh24:MI') "Sample Time",
       to_char(bbp.START_POUR, 'dd-MON-yy hh24:MI') "Start Pour Time",
       to_char(bbp.END_POUR, 'dd-MON-yy hh24:MI') "End pour Time",
       bofcs.temperature "Temperature"
FROM  bof_chem_sample bcs, bof_batch_pour bbp, bof_celox_sample bofcs
WHERE bcs.SAMPLE_CODE= to_char('D1')
AND bbp.BATCH_ID=bcs.BATCH_ID
AND bcs.SAMPLE_TIME>=to_date('01-jan-10')
Run Code Online (Sandbox Code Playgroud)

oracle duplicate-removal

6
推荐指数
2
解决办法
2万
查看次数

是否存在可以丢弃重复消息的企业消息队列(第一个值保留)?

我正在寻找具有这些要求的消息队列.找不到; 也许最接近的是rabbitmq-lvc插件(但是我需要线上的第一个值来坚持并留在前面).有人会知道支持这些的技术吗?

  • 消息队列是FIFO
  • 如果重复的消息被排队,则消息队列本身拒绝或丢弃它.

例如,生产者按照以下顺序将这三个消息(每个消息具有鉴别值)放入队列中:M1(鉴别器= 7654),M2(鉴别器= 2435),M3(鉴别器= 7654).现在我希望消息队列看到M3具有与M1相同的鉴别值,从而丢弃/拒绝M3.消费者只收到:M1,M2.

谢谢汤姆

messaging jms message-queue duplicate-removal

6
推荐指数
1
解决办法
667
查看次数

如何删除MongoDb中的重复项?

我在mongodb有一个大集合(约270万个文档),并且有很多重复.我试着ensureIndex({id:1}, {unique:true, dropDups:true})在集合上运行.在决定之前,Mongo会对它进行一段时间的搅拌too many dups on index build with dropDups=true.

如何添加索引并删除重复项?或者反过来说,删除一些重复的最佳方法是什么,以便mongo可以成功构建索引?

对于奖励积分,为什么可以删除的重复次数有限制?

indexing duplicates duplicate-removal mongodb

6
推荐指数
1
解决办法
7063
查看次数

从Java中的Json字符串中删除重复项?

我有一个重复值的Json字符串:

String json = "{\"Sign_In_Type\":\"Action\",\"Sign_In_Type\":\"Action\"}";

在我尝试创建JSONObject时正确抛出异常:


   try {
            JSONObject json_obj = new JSONObject(json);
            String type = json_obj.getString("Sign_In_Type");
        } catch (JSONException e) {
            throw new RuntimeException(e);
        }

错误:

Exception in thread "main" java.lang.RuntimeException: org.json.JSONException: Duplicate key "Sign_In_Type"
    at com.campanja.app.Upload.main(Upload.java:52)
Caused by: org.json.JSONException: Duplicate key "Sign_In_Type"
    at org.json.JSONObject.putOnce(JSONObject.java:1076)
    at org.json.JSONObject.(JSONObject.java:205)
    at org.json.JSONObject.(JSONObject.java:402)
    at com.campanja.app.Upload.main(Upload.java:49)

在将其转换为JSONOBject之前,是否有一种智能方法可以删除或检查重复项?我试图创建:

 Set set = new HashSet(Arrays.asList(json));

但这给了我:

[{"Sign_In_Type":"Action","Sign_In_Type":"Action"}]

欢迎任何建议,谢谢!

java json duplicate-removal

6
推荐指数
1
解决办法
1万
查看次数

MySQL:在不破坏外键约束的情况下消除重复行

我有一个填充了规范化地址的客户数据库.有重复.

每个用户都创建了自己的记录,并输入了自己的地址.因此,我们在用户和地址之间建立了一对一的关系:

CREATE TABLE `users` (
  `UserID` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `Name` VARCHAR(63),
  `Email` VARCHAR(63),
  `AddressID` INT UNSIGNED,
  PRIMARY KEY (`UserID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `addresses` (
  `AddressID` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `Duplicate` VARCHAR(1),
  `Address1` VARCHAR(63) DEFAULT NULL,
  `Address2` VARCHAR(63) DEFAULT NULL,
  `City` VARCHAR(63) DEFAULT NULL,
  `State` VARCHAR(2) DEFAULT NULL,
  `ZIP` VARCHAR(10) DEFAULT NULL,
  PRIMARY KEY (`AddressID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;  
Run Code Online (Sandbox Code Playgroud)

而数据:

INSERT INTO `users` VALUES
    (1,  'Michael', 'michael@email.com', 1),
    (2,  'Steve',   'steve@email.com',   2), …
Run Code Online (Sandbox Code Playgroud)

php mysql sql normalization duplicate-removal

6
推荐指数
1
解决办法
1106
查看次数