Название не совсем понятно, но я постараюсь объяснить мою ситуацию лучше.
У меня есть заявление sql,
SELECT Name,Year FROM Fruit
GROUP BY Name,Year
и я получаю следующий результат
id | name | year |
-----------------------
1 | Apple | 2019 |
2 | Apple | 2020 |
3 | Apple | 2021 |
4 | Orange | 2017 |
5 | Orange | 2018 |
6 | Orange | 2019 |
7 | Mango | 2022 |
8 | Mango | 2023 |
9 | Mango | 2024 |
Я хочу что-то вроде этого:
id | name | year |
-----------------------
1 | Apple | Y1 |
2 | Apple | Y2 |
3 | Apple | Y3 |
4 | Orange | Y1 |
5 | Orange | Y2 |
6 | Orange | Y3 |
7 | Mango | Y1 |
8 | Mango | Y2 |
9 | Mango | Y3 |
Я не могу использовать оператор CASE, потому что значения в столбце не всегда одинаковы. Но число строк в Группе всегда равно 3. В любом случае, я могу достичь этой обобщенной функциональности, не рассматривая каждое другое значение?