mysql更新表的一列值为该表另一列的值

update receive_message a, receive_message b
set a.customer=b.fromUserName
where a.msgId = b.msgId

 

oracle中实现

update MULTIMESSAGE b set b.sessionId=(select a.sender from MULTIMESSAGE a where a.id=b.id) 

where b.id in(select b.id from MULTIMESSAGE b, MULTIMESSAGE a where b.id=a.id);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用以下SQL语句,以标记中某一的重复: ```sql UPDATE your_table t1 SET t1.duplicate_column = 'duplicate' WHERE t1.primary_key NOT IN ( SELECT MIN(t2.primary_key) FROM your_table t2 GROUP BY t2.duplicate_column ) ``` 以上SQL语句会将 `your_table` 中的 `duplicate_column` 中重复的标记为 `'duplicate'`。这里假设 `your_table` 中有一个主键 `primary_key`,你需要将其替换为实际的主键名称。 ### 回答2: 在MySQL中,可以通过使用GROUP BY子句和HAVING子句来标记中某一的重复。 例如,假设我们有一个名为"students"的,其中有两:id和name。我们想要找出name中重复的姓名,并将其标记。 下面是实现这个目标的步骤: 1. 使用GROUP BY子句和HAVING子句来找出重复。可以通过以下SQL查询语句找出重复的姓名: SELECT name, COUNT(*) as duplicate_count FROM students GROUP BY name HAVING duplicate_count > 1; 这个查询语句将返回一个结果集,其中包含name中重复的姓名以及它们的重复次数。 2. 为了在中标记这些重复的姓名,我们可以使用UPDATE语句来更新中的数据。根据查询结果,我们可以使用以下SQL语句来标记重复的姓名: UPDATE students SET is_duplicate = 1 WHERE name IN( SELECT name FROM students GROUP BY name HAVING COUNT(*) > 1 ); 这个UPDATE语句将把is_duplicate设置为1,示这些姓名是重复的。 通过以上步骤,我们可以在中标记出name中的重复。 ### 回答3: 在MySQL中,可以使用以下步骤来标记中某一的重复: 1. 创建一个临时来存储标记结果。 ```mysql CREATE TABLE tmp_table AS SELECT your_column, COUNT(*) AS count FROM your_table GROUP BY your_column HAVING count > 1; ``` 这将创建一个临时`tmp_table`,其中存储了重复和它们的数量。 2. 更新原始,添加一个标记来区分重复。 ```mysql ALTER TABLE your_table ADD COLUMN is_duplicate INT DEFAULT 0; ``` 这将在原始中添加一个新`is_duplicate`,用于标记重复。 3. 使用UPDATE语句来更新标记。 ```mysql UPDATE your_table SET is_duplicate = 1 WHERE your_column IN ( SELECT your_column FROM tmp_table ); ``` 这将把具有重复的行的`is_duplicate`设置为1,以便标记它们。 4. 最后,您可以通过查询具有标记为1的行来找到重复。 ```mysql SELECT * FROM your_table WHERE is_duplicate = 1; ``` 这将返回包含重复的行作为结果。 通过以上步骤,您可以标记中某一的重复,并且能够轻松地找到它们。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值