我有下表:
TableA
x y
----------------------
3 1
2 5
5 2
现在我想更新 x 列中的值,其中 y 列中的值最低,类似这样:
UPDATE TableA SET x = 1 WHERE y = min(y);
那么第一行应该是 x = 1 和 y = 1。
但我收到以下错误代码:
Error Code: 1111. Invalid use of group function
我该如何解决?
最佳答案
如果y
是唯一的,那么您可以使用order by
和limit
:
UPDATE TableA
SET x = 1
ORDER BY Y ASC
LIMIT 1;
如果你有多个具有最小值的行,你可以使用join
:
UPDATE TableA a JOIN
(SELECT MIN(Y) as miny FROM TableA) m
ON a.y = m.miny
SET x = 1;
关于MySQL - 在 Y 最低的地方更新 X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33000517/