MySQL中的max(x,y)

时间:2011-08-20 04:24:12

标签: mysql sql

对于下表(所有列都是整数)

[id, value, best_value]

对于给定的id和值,我想更新它的行,将best_value列设置为max(newvalue,best_value)。我进入了文档,但我没有看到这样做的功能。

由于

2 个答案:

答案 0 :(得分:4)

你想要GREATEST(x,y)。例如,如果新值是530:

UPDATE my_table SET best_value = GREATEST(530,best_value) WHERE id=123

答案 1 :(得分:3)

您并不严格需要任何此类功能,

UPDATE my_table SET best_value = new_value 
  WHERE id=123 AND best_value < new_value

会像AlienWebguy的回答那样完成工作:)