mysql如何更新自己的表工作
发布时间:2020-12-11 23:45:59 所属栏目:MySql教程 来源:网络整理
导读:我在MYSQL中有一个表: CREATE TABLE test.tem(a INT,b INT); 以下数据: INSERT INTO test.tem VALUES(1,2),(1,1),NULL),(2,3); 现在数据应该是: +------+------+| a | b |+------+------+| 1 | 2 || 1 | 1 || 1 | NULL || 2 | 3 |+------+------+ 我想按
我在MYSQL中有一个表:
以下数据:
现在数据应该是:
我想按列a将列b更新到min(b)组. 所以SQL应该是:
但是MYSQL无法在FROM子句中指定更新目标表 所以我认为下面的SQL可以很好地解决我的问题:
但结果是:
其实我需要的结果是:
问题1:为什么MYSQL使用SQL计算出错误的结果?具有高效率的正确SQL应该是什么? 关于问题2,我试图使用下面不正确的SQL:
最佳答案
您没有唯一列来标识行.因此,yourJOIN可能会按您的意愿更新更多行.
你可能想要这样的东西:
见http://sqlfiddle.com/#!2/c6a04/1 如果您只想更新列b中具有NULL的行,这只是WHERE子句的问题:
见http://sqlfiddle.com/#!2/31ffb/1 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |