You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL:基于同列匹配值更新指定分组的visible字段

解决方法

这个需求用自连接就能轻松搞定,直接上具体的SQL语句:

UPDATE your_table AS t_group3
JOIN your_table AS t_group1 
  ON t_group3.prop_id = t_group1.prop_id
SET t_group3.visible = 0
WHERE t_group3.group_id = 3
  AND t_group1.group_id = 1
  AND t_group3.value = t_group1.value;

逻辑拆解

  • 我们把同一张表当成两个独立的数据集来处理:t_group3专门指代group_id=3的记录,t_group1指代group_id=1的记录。
  • 通过prop_id做关联,确保我们对比的是同一个属性下的两组数据,不会跨属性乱匹配。
  • 最后通过WHERE条件精准锁定目标:只更新group_id=3的记录,且这些记录的value必须和同prop_id下group_id=1的value完全相等,然后把符合条件的记录的visible设为0。

拿你给的测试数据举例,执行完这条语句后,prop_id=2、group_id=3那行的visible就会变成0,完全符合你的需求~

内容的提问来源于stack exchange,提问作者Laci K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:23:07