mark_edinoroglove
@mark_edinoroglove

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

Здравствуйте, делаю таблицу игроков сервера, есть роли - Начальник, администратор, игрок, как можно отсортировать таблицу так чтобы сначала выводились все игроки имеющие роль начальник, потом администратор, а потом игрок?
  • Вопрос задан
  • 81 просмотр
Решения вопроса 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 в таблицу ролей, и при объединении будете сортировать по этому полю.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
26 апр. 2024, в 06:46
1500 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект