Запрос SQL на выборку определённого числа записей
В одной из предыдущих статей, посвящённых SQL-запросу на выборку записей из таблицы, мы с Вами разобрали возможность считывания данных из таблиц. И, в принципе, этого вполне достаточно для успешного использования базы данных. Однако, иногда наиболее рационально ограничить число результирующих записей, и как раз о том, как это сделать, мы и поговорим ниже.
Давайте сразу рассмотрим запрос SQL на выборку определённого числа записей:
SELECT * FROM users WHERE id > 5 LIMIT 10
Данным запросом мы получим 10 первых записей. Все остальные отпадут. Изменение от обычного SQL-запроса на выборку данных состоит только в параметре "LIMIT". Число, которое идёт за ним, сообщает, какое количество записей мы хотим получить, и в нашем случае - это 10.
Также существует возможность задавать после "LIMIT" два числа:
SELECT * FROM users WHERE id > 5 LIMIT 10, 20
Данный SQL-запрос вернёт записи, начиная с 10-го номера включительно в количестве 20-ти штук. То есть первое число означает, с какой записи надо формировать результат выборки, а второе число означает, какое количество записей всего должно быть.
Собственно, это всё, что необходимо для выборки определённого числа записей. Используется это очень часто, например, при выводе последних 10-ти зарегистрированных пользователях. Или при выводе 5-ти свежих статей (как на главной странице моего сайта), или в других аналогичных ситуациях.
-
- Михаил Русаков
Комментарии (6):
Михаил! Добрый день. Вопрос-использование LIMIT каким то образом оптимизирует запрос, если изначально известно, что нужно выбрать одну строку? Каким образом действует этот "ограничитель"? При выявлении нужной строки в таблице выборка прекращается или она дальше происходит и просто выводится одна строка?
Ответить
Нет, прекращается дальнейший поиск. В этом и преимущество, получается выигрыш в скорости, и это будет намного быстрее, чем потом, например, в PHP убирать всё лишнее.
Ответить
спасибочки
Ответить
Это же касается не только SELECT, но и других операторов?
Ответить
LIMIT везде ускоряет процесс.
Ответить
Здравствуйте! Я хочу сделать страницу пользователя. Например, он напишет в свою страницу: "привет", и оно должно отобразиться. У меня вопрос: Как хранить эти сообщения и отделять друг от друга при выборке?
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.