Как получить максимум двух значений в MySQL?
Я пытался, но не смог:
mysql> select max(1,0);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0)' at line 1
3 ответа:
использовать большой()
например:
SELECT GREATEST(2,1);
чтобы получить максимальное значение столбца в наборе строк:
SELECT MAX(column1) FROM table; -- expect one result
чтобы получить максимальное значение набора столбцов, литералов или переменных для каждой строки:
SELECT GREATEST(column1, 1, 0, @val) FROM table; -- expect many results
можно использовать максимальный функция с not nullable полями. Если одно из этих значений (или оба) может быть NULL, не используйте его (результат может быть NULL).
select if( fieldA is NULL, if(fieldB is NULL, NULL, fieldB), /* second NULL is default value */ if(fieldB is NULL, field A, GREATEST(fieldA, fieldB)) ) as maxValue
вы можете изменить NULL на предпочтительное значение по умолчанию (если оба значения NULL).