Задать вопрос
mark_edinoroglove
@mark_edinoroglove

Как сделать сортировку таблицы mysql?

Здравствуйте, делаю таблицу игроков сервера, есть роли - Начальник, администратор, игрок, как можно отсортировать таблицу так чтобы сначала выводились все игроки имеющие роль начальник, потом администратор, а потом игрок?
  • Вопрос задан
  • 85 просмотров
Подписаться 2 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Один из возможных вариантов:
select 
	* ,
	case 
		when role = 'boss' then 3
		when role = 'admin' then 2
		else 1
	end as weight
from gamers order by weight desc;


MySQL fiddle

или так:
select * 
from gamers 
order by role = 'boss' desc, role = 'admin' desc;


MariaDB fiddle
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
irishmann
@irishmann
Научись пользоваться дебаггером
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Если это роли, то обычно они хранятся в отдельной таблице ролей, связанные через таблицу связей пользователь-роль. Соответственно можете добавить поле sort в таблицу ролей, и при объединении будете сортировать по этому полю.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽