Команда LIMIT (ограничение на количество записей, выбираемых из базы данных)
Команда LIMIT задает ограничение на количество записей, выбираемых из базы данных. Данная команда может использоваться совместно с командой SELECT, командой DELETE, и командой UPDATE (code.mu/sql/limit.html).
Синтаксис
SELECT * FROM имя_таблицы WHERE условие LIMIT количество_записей ID
SELECT * FROM имя_таблицы WHERE условие LIMIT с_какой_записи, количество_записей ID
SELECT * FROM имя_таблицы WHERE условие ORDER BY по_чему_сортировать LIMIT число, число ID
DELETE FROM имя_таблицы WHERE условие LIMIT количество_записей ID
UPDATE имя_таблицы SET ... WHERE условие LIMIT количество_записей
Примеры
Все примеры будут по таблице workers.
id | name | age-возраст | salary-зарплата |
---|---|---|---|
1 | Дима | 23 | 400 |
2 | Петя | 25 | 500 |
3 | Вася | 23 | 500 |
4 | Коля | 30 | 1000 |
5 | Иван | 27 | 500 |
6 | Кира | 28 | 1000 |
Пример
Выбираются 1-е 3 записи:
SELECT * FROM workers WHERE id>0 LIMIT 3
SQL запрос выберет следующие строки:
id | name | age-возраст | salary-зарплата |
---|---|---|---|
1 | Дима | 23 | 400 |
2 | Петя | 25 | 500 |
3 | Вася | 23 | 500 |
Пример
Выбираются 3 записи, начиная со 2-й (1-я имеет №0, а 2-я - №1):
SELECT * FROM workers WHERE id>0 LIMIT 1, 3
SQL запрос выберет следующие строки:
id | name | age-возраст | salary-зарплата |
---|---|---|---|
2 | Петя | 25 | 500 |
3 | Вася | 23 | 500 |
4 | Коля | 30 | 1000 |
Пример
Выбираются последние 3 записи.
Для этого отсортируем их с помощью ORDER BY по убыванию id и возьмем 3 записи с помощью LIMIT
Они и будут искомыми последними записями, так как LIMIT сработает после сортировки и будет браться по уже отсортированной таблице.
При этом записи будут идти в обратном порядке - с 6-й по 4-ю (так, как они отсортированы):
SELECT * FROM workers WHERE id>0 ORDER BY id LIMIT 3
SQL запрос выберет следующие строки:
id | name | age-возраст | salary-зарплата |
---|---|---|---|
6 | Кира | 28 | 1000 |
5 | Иван | 27 | 500 |
4 | Коля | 30 | 1000 |
Пример
Выбирается последнюю запись в таблице.
Для этого отсортируем их с помощью ORDER BY по убыванию id и возьмем 1-ю запись с помощью LIMIT:
SELECT * FROM workers WHERE id>0 ORDER BY id LIMIT 3
SQL запрос выберет следующие строки:
id | name | age-возраст | salary-зарплата |
---|---|---|---|
6 | Кира | 28 | 1000 |
code.mu/sql/limit.html