Синтаксис LIMIT:
>> ВИБЕРІТИ вираз ВІД таблиці ОБМЕЖЕННЯ Зсув, рядки;Ось пояснення запиту LIMIT:
- Вираз: Може бути ім'ям стовпця або стеричним "*".
- Зсув: Зсув визначає зміщення, яке потрібно повернути з першого рядка. Якщо ви використовуєте 0 як зміщення, воно поверне рядок 1 і навпаки.
- Рядки: Загальна кількість рядків, які потрібно повернути.
Відкрийте оболонку командного рядка MySQL і введіть пароль. Натисніть Enter, щоб продовжити.
Припустимо, у вашій базі даних MySQL є таблиця під назвою „вчитель”, як показано нижче. Якщо ви хочете отримати всі записи або рядки цієї таблиці без будь-якого обмеження, ви зробите це за допомогою простого запиту SELECT наступним чином:
>> ВИБЕРІТЬ * ВІД даних.вчитель;
Приклад 01: ОБМЕЖЕННЯ лише з номером рядка:
Якщо користувач хоче отримати деякі записи, обмежуючи кількість рядків, він / вона може це зробити, використовуючи просте речення LIMIT в інструкції SELECT. Давайте спробуємо приклад, використовуючи наведену вище таблицю. Припустимо, ви хочете відобразити лише 6 рядків із наведеної таблиці, відображаючи рядки, дотримуючись порядку спадання стовпця TeachName. Спробуйте наступний запит:
>> ВИБЕРІТЬ * ВІД даних.ВЧИТЕЛЬ ЗАМОВЛЕННЯ TeachName DESC LIMIT 6;
Приклад 02: ОБМЕЖЕННЯ З ЗМІСТОМ і номером рядка:
Спробуємо за тією ж таблицею визначити Зсув поряд із номером рядка. Припустимо, вам потрібно отримати з таблиці лише 6 записів, тоді як повернутий запис повинен починатися з 6го рядок таблиці. Спробуйте наступний запит:
>> ВИБЕРІТЬ * ВІД даних.викладач DESC LIMIT 6, 6;
Приклад 03: ОБМЕЖИТИ речення WHERE:
Припустимо, таблиця "те саме" знаходиться в базі даних MySQL. Отримати всю таблицю, сортуючи її за зростанням у порядку зростання стовпця 'id', використовуючи команду SELECT разом із ORDER BY наступним чином:
>> ВИБЕРІТЬ * ВІД даних.те саме ЗАМОВЛЕННЯ за ідентифікатором ASC;
Спробувавши заявлений запит, ми отримаємо випадкові три записи віку від 12 до 34 років з будь-якого випадкового розташування таблиці. У той час як у наведеній вище таблиці ми маємо більше 6 записів вікової групи від 12 до 34 років.
>> ВИБЕРІТЬ * ВІД даних.те саме ДЕ вік> '12' І вік < '34' LIMIT 3;
Коли ми використовуємо в запиті пропозицію ORDER BY, не вказуючи тип замовлення, він автоматично отримує запис у порядку зростання, як показано нижче.
>> ВИБЕРІТЬ * ВІД даних.те саме ДЕ вік> '12' І вік < '34' ORDER BY age LIMIT 3;
Щоб отримати обмежений запис в іншому порядку сортування, потрібно визначити порядок сортування. Оскільки ми отримуємо 8-рядкові дані, використовуючи порядок спадання стовпця "вік".
>> ВИБЕРІТЬ * ВІД даних.те саме ДЕ вік> '12' І вік < '34' ORDER BY age DESC LIMIT 8;
Візьмемо лише 2 рядки, де ім’я домашньої тварини - «собака». На виконання ми маємо лише 1 результат, оскільки знак '=' шукав точний зразок, і ми маємо лише 1 запис його шаблону.
>> ВИБЕРІТЬ * ВІД даних.те саме ДЕ домашня тварина = 'собака' ЗАМОВИТИ ЗА ІД. ОБМЕЖЕННЯ 2;
Приклад 04: LIMIT з реченням LIKE та його підстановками:
Ми шукали шаблон "собака" і отримали лише 1 результат. Хоча ми маємо більше 1 запису про "собаку" в таблиці. Тепер ми отримаємо ці записи, використовуючи речення LIKE разом із реченням LIMIT. Щоб відобразити лише 5 записів у таблиці, де ім’я улюбленця починається з „d”, спробуйте подати запит нижче. Оскільки у нас є лише 2 записи для візерунка "собака", тому ми отримали лише 2.
>> ВИБЕРІТЬ * ВІД даних.те саме ДЕ ПЕТ, як "d%" ЗАМОВЛЕННЯ ІД обмеження 5;
Давайте дістанемо лише 10 записів із таблиці, де вихованець повинен мати „r“ у будь-якому середньому місці його імені. Оскільки ми маємо коней, папуг та кроликів у домашніх тваринах, що мають назви „r“, то тому ми отримали лише 4 записи з цього запиту.
>> ВИБЕРІТЬ * ВІД даних.те саме ДЕ ПЕТ, як "% r%" ЗАМОВИТИ ЗА ІД
Щоб отримати 6 записів таблиці, де в кінці імені вихованця повинно бути 't', запустіть заявлений запит у оболонці командного рядка SQL. Тут ми маємо 4 записи з цього запиту.
>> ВИБЕРІТЬ * ВІД даних.те саме ДЕ ПЕТ, ЯК ПОДОБАЄТЬСЯ "% t" ЗАМОВИТИ ЗА ІД
Щоб отримати 8 записів таблиці, де робота людини повинна мати «er» в кінці, запустіть нижченаведений запит у оболонці. Тут ми отримали 6 записів із цього запиту.
>> ВИБЕРІТЬ * ВІД даних.те саме ДЕ робота, ЯК "% er" ЗАМОВИТИ ЗА ВІКОМ ASC LIMIT 8;
Давайте змінимо речення WHERE разом із оператором LIKE у запиті SELECT. Припустимо, ви хочете отримати 6-рядковий запис із таблиці "те саме". Ви спробували умову, щоб отримати єдині записи, де 'fname' має мати 'a' в останньому значенні, а 'lname' має мати 'a' у будь-якому середньому розташуванні його значення. З іншого боку, дані потрібно сортувати, дотримуючись стовпця "вік" за спаданням. Щоб отримати ці 6 записів, запустіть вказаний нижче запит у оболонці командного рядка SQL. У нас є 5 записів щодо цього стану, і результат показаний нижче.
>> ВИБЕРІТЬ * ВІД даних.те саме ДЕ fname ПОДОБАЄТЬСЯ '% a' І lname ПОДОБАЄТЬСЯ '% a%' ЗАМОВЛЕННЯ ЗА ВІКОМ ОБМЕЖЕННЯ 5;
Висновок:
Сподіваюсь, ви повністю підготувались до теми LIMT, спробувавши майже всі приклади пропозиції LIMIT разом із її членами, e.g., Номер зсуву та рядка.