Вы хотите сравнить месяцы только за первый и последний годы:
WHERE (tt.year > 2014 AND tt.year < 2018)
or (tt.year = 2014 AND tt.month_number >= 5)
or (tt.year = 2018 AND tt.month_number <= 5)
В качестве альтернативы:
WHERE (tt.year * 100 + tt.month_number >= 201405)
AND (tt.year * 100 + tt.month_number <= 201805)
Или, не поддерживается MySQL:
WHERE (tt.year, tt.month_number) between (2014,5) and (2018,5)
Адаптировано к MySQL Раймондом Нейландом:
WHERE (tt.year, tt.month_number) >= (2014,5) AND (tt.year, tt.month_number) <= (2018,5)