MySQL LIMIT & СМЕЩЕНИЕ с примерами

Anonim

Что такое ключевое слово LIMIT?

Ключевое слово limit используется для ограничения количества строк, возвращаемых в результате запроса.

Его можно использовать вместе с командами SELECT, UPDATE OR DELETE. Синтаксис ключевого слова LIMIT.

Синтаксис ключевого слова LIMIT следующий

SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;

ЗДЕСЬ

  • «SELECT {fieldname (s) | *} FROM tableName (s)» - это оператор SELECT, содержащий поля, которые мы хотели бы вернуть в нашем запросе.
  • «[WHERE condition]» является необязательным, но если указано, его можно использовать для указания фильтра в наборе результатов.
  • «LIMIT N» - это ключевое слово, а N - любое число, начинающееся с 0, при этом 0, поскольку ограничение не возвращает никаких записей в запросе. Ввод числа, скажем, 5, вернет пять записей. Если записей в указанной таблице меньше N, то все записи из запрошенной таблицы возвращаются в наборе результатов.

Давайте посмотрим на пример -

SELECT * FROM members LIMIT 2;
 
membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
1 Janet Jones Female 21-07-1980 NULL First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. NULL

Как видно из приведенного выше снимка экрана, было возвращено только два члена.

Получение списка из десяти (10) участников только из базы данных

Предположим, мы хотим получить список первых 10 зарегистрированных участников из базы данных Myflix. Для этого мы воспользуемся следующим сценарием.

SELECT * FROM members LIMIT 10;

Выполнение вышеуказанного скрипта дает нам результаты, показанные ниже.

 
membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
1 Janet Jones Female 21-07-1980 NULL First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
4 Gloria Williams Female 14-02-1984 NULL 2nd Street 23 NULL NULL NULL NULL
5 Leonard Hofstadter Male NULL NULL Woodcrest NULL 845738767 NULL NULL
6 Sheldon Cooper Male NULL NULL Woodcrest NULL 976736763 NULL NULL
7 Rajesh Koothrappali Male NULL NULL Woodcrest NULL 938867763 NULL NULL
8 Leslie Winkle Male 14-02-1984 NULL Woodcrest NULL 987636553 NULL NULL
9 Howard Wolowitz Male 24-08-1981 NULL SouthPark P.O. Box 4563 987786553 lwolowitz[at]email.me NULL

Обратите внимание, что в нашем запросе было возвращено только 9 членов, поскольку N в предложении LIMIT больше, чем общее количество записей в нашей таблице.

Переписать приведенный выше сценарий следующим образом

SELECT * FROM members LIMIT 9;

Возвращает только 9 строк в нашем наборе результатов запроса.

Использование OFF SET в запросе LIMIT

Значение OFF SET также чаще всего используется вместе с ключевым словом LIMIT. Значение OFF SET позволяет нам указать, с какой строки начинать получение данных.

Предположим, что мы хотим получить ограниченное количество членов, начиная с середины строк, для этого мы можем использовать ключевое слово LIMIT вместе со значением смещения. Скрипт, показанный ниже, получает данные, начиная со второй строки, и ограничивает результаты до 2.

SELECT * FROM `members` LIMIT 1, 2;

Выполнение вышеуказанного сценария в рабочей среде MySQL для myflixdb дает следующие результаты.

 
membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
Note that here OFFSET = 1 Hence row#2 is returned & Limit = 2, Hence only 2 records are returned

Когда мы должны использовать ключевое слово LIMIT?

Предположим, мы разрабатываем приложение, работающее поверх myflixdb. Наш системный разработчик попросил нас ограничить количество отображаемых на странице записей до 20 записей на страницу, чтобы уменьшить время загрузки. Как нам реализовать систему, отвечающую таким требованиям пользователей? Ключевое слово LIMIT пригодится в таких ситуациях. Мы могли бы ограничить результаты, возвращаемые запросом, до 20 записей только на страницу.

Резюме

  • Ключевое слово LIMIT используется для ограничения количества строк, возвращаемых из набора результатов.
  • Число LIMIT может быть любым числом от нуля (0) вверх. Если в качестве ограничения указан ноль (0), строки из набора результатов не возвращаются.
  • Значение OFF SET позволяет нам указать, с какой строки начинать получение данных.
  • Его можно использовать вместе с командами SELECT, UPDATE OR DELETE. Синтаксис ключевого слова LIMIT.