Objective and Introduction

Objective: This segment introduces how to use the LIMIT clause and retrieve the first and last three records by using it.

Introduction: The LIMIT clause returns the number of rows based on arguments provided. It accepts one or two arguments, which must be zero or a positive integer. The following syntax and queries will help you to understand practically.

Retrieving the existing databases and table records
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| DB                 |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> USE DB;
Database changed

mysql> SHOW TABLES;
+--------------+
| Tables_in_DB |
+--------------+
| holders      |
+--------------+
1 row in set (0.01 sec)

mysql> SELECT * FROM holders;
+-------------+---------------+---------+------------+----------+--------+
| account_no  | name          | city    | dob        | bank     | amount |
+-------------+---------------+---------+------------+----------+--------+
| 25622348989 | James Moore   | Phoenix | 1985-05-26 | Barclays |   5000 |
| 25622348990 | Donald Taylor | Irvine  | 1990-08-20 | Citi     |   7000 |
| 25622348991 | Edward Parkar | Irvine  | 1994-01-29 | ICICI    |  95000 |
| 25622348992 | Ryan Bakshi   | Mumbai  | 1982-01-14 | Citi     |  50000 |
| 25622348993 | Marie Peters  | Ribe    | 1967-01-05 | DZBank   |  12250 |
| 25622348994 | Aanya         | Delhi   | 1975-08-18 | SBI      | 105000 |
| 25622348995 | James Moore   | NULL    | 1978-06-26 | Citi     |  97800 |
+-------------+---------------+---------+------------+----------+--------+
7 rows in set (0.00 sec)
Using LIMIT clause
mysql> SELECT * FROM holders LIMIT 3;
+-------------+---------------+---------+------------+----------+--------+
| account_no  | name          | city    | dob        | bank     | amount |
+-------------+---------------+---------+------------+----------+--------+
| 25622348989 | James Moore   | Phoenix | 1985-05-26 | Barclays |   5000 |
| 25622348990 | Donald Taylor | Irvine  | 1990-08-20 | Citi     |   7000 |
| 25622348991 | Edward Parkar | Irvine  | 1994-01-29 | ICICI    |  95000 |
+-------------+---------------+---------+------------+----------+--------+
3 rows in set (0.00 sec)

mysql> SELECT * FROM holders ORDER BY dob LIMIT 3;
+-------------+--------------+-------+------------+--------+--------+
| account_no  | name         | city  | dob        | bank   | amount |
+-------------+--------------+-------+------------+--------+--------+
| 25622348993 | Marie Peters | Ribe  | 1967-01-05 | DZBank |  12250 |
| 25622348994 | Aanya        | Delhi | 1975-08-18 | SBI    | 105000 |
| 25622348995 | James Moore  | NULL  | 1978-06-26 | Citi   |  97800 |
+-------------+--------------+-------+------------+--------+--------+
3 rows in set (0.00 sec)
Retrieving first and last three records
mysql> SELECT * FROM holders ORDER BY bank,amount;
+-------------+---------------+---------+------------+----------+--------+
| account_no  | name          | city    | dob        | bank     | amount |
+-------------+---------------+---------+------------+----------+--------+
| 25622348989 | James Moore   | Phoenix | 1985-05-26 | Barclays |   5000 |
| 25622348990 | Donald Taylor | Irvine  | 1990-08-20 | Citi     |   7000 |
| 25622348992 | Ryan Bakshi   | Mumbai  | 1982-01-14 | Citi     |  50000 |
| 25622348995 | James Moore   | NULL    | 1978-06-26 | Citi     |  97800 |
| 25622348993 | Marie Peters  | Ribe    | 1967-01-05 | DZBank   |  12250 |
| 25622348991 | Edward Parkar | Irvine  | 1994-01-29 | ICICI    |  95000 |
| 25622348994 | Aanya         | Delhi   | 1975-08-18 | SBI      | 105000 |
+-------------+---------------+---------+------------+----------+--------+
7 rows in set (0.00 sec)

mysql> SELECT * FROM holders ORDER BY bank,amount LIMIT 3;
+-------------+---------------+---------+------------+----------+--------+
| account_no  | name          | city    | dob        | bank     | amount |
+-------------+---------------+---------+------------+----------+--------+
| 25622348989 | James Moore   | Phoenix | 1985-05-26 | Barclays |   5000 |
| 25622348990 | Donald Taylor | Irvine  | 1990-08-20 | Citi     |   7000 |
| 25622348992 | Ryan Bakshi   | Mumbai  | 1982-01-14 | Citi     |  50000 |
+-------------+---------------+---------+------------+----------+--------+
3 rows in set (0.01 sec)

mysql> SELECT * FROM holders ORDER BY account_no DESC LIMIT 3;
+-------------+--------------+-------+------------+--------+--------+
| account_no  | name         | city  | dob        | bank   | amount |
+-------------+--------------+-------+------------+--------+--------+
| 25622348995 | James Moore  | NULL  | 1978-06-26 | Citi   |  97800 |
| 25622348994 | Aanya        | Delhi | 1975-08-18 | SBI    | 105000 |
| 25622348993 | Marie Peters | Ribe  | 1967-01-05 | DZBank |  12250 |
+-------------+--------------+-------+------------+--------+--------+
3 rows in set (0.01 sec)
Advertisement