更新计数> 1的表中的记录

用户名

当多个记录中FieldA和FieldB相同时,我想标记一个表中的记录。选择当然很容易:

Select Count(*) from Table group by FieldA,FieldB having Count(*)>1

现在,我想进行更新,仅将这些记录的FieldA和FieldB设置为NULL。我认为这是某种“联接”,但这不是我非常熟悉的事物。有一些相当简单的方法可以做到这一点吗?

肯尼

这是一种使用具有3个字段的临时表的方法:一个MIN(id)字段,其中id是中的唯一键或主键Table,以及FieldAFieldB

CREATE TEMPORARY TABLE tmp_fix AS
SELECT MIN(id) AS id, FieldA, FieldB 
FROM Table GROUP BY FieldA, FieldB having Count(*)>1;

然后,我们可以更新原始Table设定所有重复FieldA, FieldBNULL除了具有最低ID(这是我们在保存的tmp_fix表):

UPDATE Table t 
LEFT JOIN tmp_fix f ON t.FieldA = f.FieldA AND t.fieldB = f.FieldB
SET t.FieldA = NULL, t.fieldB = NULL
WHERE t.id <> f.id;

您可能需要先复制的副本Table

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更新计数> 1的表中的记录

来自分类Dev

MYSQL在表1更新记录上的表2中插入新记录

来自分类Dev

更新表SQL Server中的前1条记录

来自分类Dev

如果表1,更新表2,表中不存在IF记录,则表1的列中存在记录更新表2

来自分类Dev

更新Access表中的记录

来自分类Dev

如何更新表中的记录?

来自分类Dev

如何从 1 个表中按日期获取记录并更新 Postgresql 中的其他表?

来自分类Dev

SQL 更新表 1 有效标志如果表 2 中的记录

来自分类Dev

在DynamoDB中获取/更新计数器

来自分类Dev

如果MySQL中的计数大于5,则更新

来自分类Dev

在Swift中更新徽章计数器

来自分类Dev

从CTE结果更新表中的记录

来自分类Dev

使用游标更新Temp表中的记录

来自分类Dev

更新表中不存在的记录

来自分类Dev

使用某些条件更新表中的记录

来自分类Dev

更新链接表中的记录

来自分类Dev

合并最终表中的更新记录

来自分类Dev

查找计数 > 1 的记录

来自分类Dev

查询以基于关系和约束更新记录计数

来自分类Dev

根据上次更新日期对记录数进行计数+空

来自分类Dev

根据计数更新一组记录-MySQL

来自分类Dev

基于关联表中的记录计数的has_many表格

来自分类Dev

在单个查询中从多个表中选择记录计数

来自分类Dev

连接表中确切或相似记录的sql计数数

来自分类Dev

针对列对SQL表中的相同记录进行计数

来自分类Dev

针对列对SQL表中的相同记录进行计数

来自分类Dev

无法在数据表中显示记录计数

来自分类Dev

以最优化的方式从sql server表中获取记录计数

来自分类Dev

在单个查询中从多个表中选择记录计数