Сортировка в MySQLi

Раздел SQL. Форум в помощь для тех кто начинает осваивать SQL. Работа с phpMyAdmin.
Аватара пользователя
Slash
Администратор
Сообщения: 2207
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 81 раз

Сортировка в MySQLi

#1

Сообщение Slash » Ср янв 29, 2014 1:25 pm

Для сортировке в MySQLi, достаточно добавит в запрос ORDER BY с нужными настройками. Настройки я назвал имена столбцов с указанием направления, такое сочетание пишется через запятую.
Направления для сортировки:
  • ASC - по возрастанию.
  • DESC - по убыванию.
Пример запроса с настройкой сортировки (Код из примера будет сортировать данные из таблицы user по возрастанию поле name. В случаи совпадения значений, сортировка будет по убыванию, по поля email.):

Код: Выделить всё

SELECT * FROM user ORDER BY name ASC, email DESC
BINARY - сортировка с учётом регистра символов
Признаюсь, понятия не имею для чего может понадобиться сортировка с учетом регистра символов, но всё же если есть в этом необходимость, то делается это при помощи оператора BINARY:

Код: Выделить всё

SELECT * FROM user ORDER BY BINARY name
FIELD - выборочная сортировка
Для того, что бы отсортировать данные, скажем по значению времени суток: утро, день, вечер и ночь, существует оператор FIELD, который и выполнит данную сортировку. Это может оказаться полезным, например если Вы ведете архив блогов по месяцам или по какому то другому времени/дате. Пример запроса:

Код: Выделить всё

SELECT * FROM user ORDER BY FIELD(season, "утро","день","вечер","ночь") 
CHAR_LENGTH - сортировка по длине строки
CHAR_LENGTH - всё просто, сортирует по длине строк в MySQL. Пример:

Код: Выделить всё

SELECT * FROM user ORDER BY CHAR_LENGTH(name)

Реклама

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей