Как видно из листингов, результат выборки представляет собой записи, которые располагаются в порядке, в котором они хранятся в базе данных. Однако часто требуете» отсортировать значения по одному из столбцов. Это осуществляется при помощи конструкции order by, которая следует после выражения select. После конструкции order by указывается столбец, по которому следует сортировать данные.
Как видно из листинга 7.13, первый запрос сортирует результат выборки по полю id_catalog, а второй по полю name.
Сортировку записей можно производить и по нескольким столбцам. Пусть требуется извлечь из таблицы products записи, соответствующие товарным позициям, количество которых на складе count от 4 до 8 с сортировкой по полю count. Для краткости выведем только столбцы count и mark (оценка товарной позиции).
Как видно из листинга 7.14, сортировка по полю count прошла успешно, однако оценки mark во втором столбце расположены в хаотическом порядке. Для сортировки результатов по двум столбцам их следует указать сразу после ключевого слова order by через запятую (листинг 7.15). Записи сортируются по полю count и, если встречается несколько записей с совпадающим полем count, сортируются по полю mark. Число столбцов, следующих за конструкцией order by, не ограничено.
Поумолчанию сортировка производится в прямом порядке, записи располагаются начиная с наименьшего значения и заканчивая наибольшим.
Изменить порядок сортировки на обратный можно при помощи ключевого слова desc (листинг 7.17).
Для прямой сортировки также существует ключевое слово asc, но поскольку по умолчанию записи сортируются в прямом порядке, данное ключевое слово часто опускают.
Результат выборки может содержать сотни и тысячи записей. Их вывод и обработка занимают значительное время и серьезно загружают сервер базы данных. Поэтому информацию часто разбивают на страницы и предоставляют ее пользователю порциями. Извлечение только части запроса требует меньше времени и вычислений, кроме того, пользователю часто бывает достаточно просмотреть первые несколько записей. Постраничная навигация используется при помощи ключевого слова limit, за которым следует число выводимых записей. В листинге 7.18 извлекаются первые пять записей, при этом одновременно осуществляется обратная сортировка по полю count.
Листинг 7.18 Использование ключевого слова LIMIT
Для того чтобы извлечь следующие пять записей, используется ключевое слово limit c двумя цифрами, первая указывает позицию, начиная с которой необходимо вернуть результат, а вторая цифра — это число извлекаемых записей (листинг 7.19).
Для извлечения следующих 5 записей необходимо использовать конструкцию