Най-голямото и най-малкото не пренебрегват нули, както правят функциите за агрегиране; ще трябва да направите нещо, за да ги избегнете. Една от опциите е нещо подобно:
Greatest(IFNULL(Salary_1 ,0), ...)
Least(
CASE WHEN Salary_1 IS NULL OR Salary_1 = 0 THEN /*some huge value*/ ELSE Salary_1 END
, CASE WHEN Salary_2
....)