Для правильного вопроса надо знать половину ответа
Сама СУБД MySQL не понимает ни JSON, ни YAML, нужен клиент, который подключается к ней и SQL-запросами получает/изменяет/удаляет данные.
Так что как вы в клиенте напишете, такой формат конфига и используйте.
Для правильного вопроса надо знать половину ответа
Если вас в схеме есть связь один-к-одному, то, с большой вероятностью, вы что-то сделали неправильно.
В данном случае нет необходимости в отдельной таблице `refferal`, достаточно поля `referrer_id` в таблице `users`, так как пользователь может зарегистрироваться только по одному приглашению.
Аналогично, не имеют смысла таблицы `inventory` и `item_inventory`, достаточно поля `user_id` в таблице `items`.
Для правильного вопроса надо знать половину ответа
В SQL понятия "первые" и "последние" строки появляются только после того, как вы явно зададите порядок сортировки. Для того, чтобы последние стали первыми достаточно этот порядок поменять (ASC/DESC). Ну а взять первые пять строк - это вообще не проблема.
Для правильного вопроса надо знать половину ответа
Для MySQL 8
SELECT DISTINCT `age`, FIRST_VALUE(`hobbies`) OVER `win` AS `hobbies`
FROM (
SELECT `age`, `hobbies`, COUNT(*) AS `count`
FROM `test`
GROUP BY `age`, `hobbies`
) AS `t`
WINDOW `win` AS (
PARTITION BY `age`
ORDER BY `count` DESC
)
Для правильного вопроса надо знать половину ответа
В MySQL можно через REGEXP_SUBSTR.
Но вообще, такой формат хранения создаёт кучу проблем. Переделывайте на нормальную таблицу (id_строки, id_языка, строка).