使用where子句使用max函数更新查询

时间:2014-12-04 19:05:59

标签: mysql max where clause

我一直试图通过以下查询:

UPDATE transactions 
SET proposal= MAX(proposal) + 1 
WHERE id =1054

但它显示错误。谁能帮我?

1 个答案:

答案 0 :(得分:0)

您可能需要根据您的标准进行子查询,目前尚不清楚。 MAX()通常基于聚合而不是您拥有的聚合。如果不了解更多,您的查询可能需要像......

UPDATE transactions 
   SET proposal = 1 + ( select MAX(proposal) from transactions where SomeCondition )
   WHERE id = 1054 

因此内部选择MAX()从交易表中获得提案金额,但我不知道您的标准是什么。如果事务表有很多id = 1054的记录,那么你的内部" SomeCondition"也将是..." id = 1054"。

如果您尝试与其他交易进行比较并希望获得最高交易,则根据需要进行调整。