Опция 1 использует деление на количество лет и округление в меньшую сторону, чтобы разработать вызовы вложенных функций, которые возвращают желаемую группу YearGroup.Это может привести к путанице, но это возможно
Вариант 2 - наиболее гибким для любой платформы sql будет добавление таблицы (или представления) YearGroup с одним столбцом на нужную группу
Year | GroupOne | GroupTwo | GroupThree
-----+-----------+----------+-----------
2019 | 2019.1 | 2018.2 | 2019.3
2018 | 2018.1 | 2018.2 | 2016.3
2017 | 2017.1 | 2016.2 | 2016.3
2016 | 2016.1 | 2016.2 | 2016.3
2015 | 2015.1 | 2014.2 | 2015.3
...
Десятичные числа необязательны, но хорошо сообщить людям количество лет в группе, хотя я предполагаю, что истинной третьей нормальной формой будет одна таблица в год, сгруппированная
Вариант 2 имеет дополнительное преимущество, которое может выбрать любой.из таблиц YearGroup, чтобы увидеть сопоставление из первых рук
Вы также можете добавить группы, у которых разные годы привязки, такие как группа два года с нечетным первым годом (слияние 2017 и 2018) по сравнению с первым годом (объединить 2018 с 2019)