Если вы используете MySQL 8.0, просто используйте row_number()
:
select
row_number() over(partition by fruit order by ?) rn,
fruit
from mytable
Обратите внимание, что для ответа, чтобы получить согласованные результаты, вам нужен еще один столбец, который может использоваться для заказа записей. Я представлял это как ?
в запросе.