2011-08-20 54 views
4

爲下表(所有列是整數)MAX(X,Y)在MySQL

[id, value, best_value] 

對於給定的ID和價值我想更新它的行設置best_value列到最大(NEWVALUE,best_value) 。我查閱了文檔,但沒有看到這樣做的功能。

謝謝

回答

4

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

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

3

你不嚴格需要任何這樣的功能,

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

會做的工作有關,以及AlienWebguy的答案:)

+0

我想它會+1 – AlienWebguy