How to select last row in MySQL?

To select the last row, we can use ORDER BY clause with desc (descending) property and Limit 1. Let us first create a table and insert some records with the help of INSERT command.

The query is as follows.

<span class="pln">mysql</span><span class="pun">></span><span class="pln"> create table getLastRecord
   </span><span class="pun">-></span><span class="pln"> </span><span class="pun">(</span><span class="pln">
   </span><span class="pun">-></span><span class="pln"> </span><span class="typ">Id</span><span class="pln"> </span><span class="kwd">int</span><span class="pun">,</span><span class="pln">
   </span><span class="pun">-></span><span class="pln"> </span><span class="typ">Name</span><span class="pln"> varchar</span><span class="pun">(</span><span class="lit">100</span><span class="pun">)</span><span class="pln">
   </span><span class="pun">-></span><span class="pln"> </span><span class="pun">);</span><span class="pln">
</span><span class="typ">Query</span><span class="pln"> OK</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pln"> rows affected </span><span class="pun">(</span><span class="lit">0.61</span><span class="pln"> sec</span><span class="pun">)</span>

After creating the above table, we will insert records with the help of INSERT command.

<span class="pln">mysql</span><span class="pun">></span><span class="pln"> insert </span><span class="kwd">into</span><span class="pln"> getLastRecord values</span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="str">'John'</span><span class="pun">);</span><span class="pln">
</span><span class="typ">Query</span><span class="pln"> OK</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> row affected </span><span class="pun">(</span><span class="lit">0.13</span><span class="pln"> sec</span><span class="pun">)</span><span class="pln">

mysql</span><span class="pun">></span><span class="pln"> insert </span><span class="kwd">into</span><span class="pln"> getLastRecord values</span><span class="pun">(</span><span class="lit">2</span><span class="pun">,</span><span class="str">'Ramit'</span><span class="pun">);</span><span class="pln">
</span><span class="typ">Query</span><span class="pln"> OK</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> row affected </span><span class="pun">(</span><span class="lit">0.22</span><span class="pln"> sec</span><span class="pun">)</span><span class="pln">

mysql</span><span class="pun">></span><span class="pln"> insert </span><span class="kwd">into</span><span class="pln"> getLastRecord values</span><span class="pun">(</span><span class="lit">3</span><span class="pun">,</span><span class="str">'Johnson'</span><span class="pun">);</span><span class="pln">
</span><span class="typ">Query</span><span class="pln"> OK</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> row affected </span><span class="pun">(</span><span class="lit">0.13</span><span class="pln"> sec</span><span class="pun">)</span><span class="pln">

mysql</span><span class="pun">></span><span class="pln"> insert </span><span class="kwd">into</span><span class="pln"> getLastRecord values</span><span class="pun">(</span><span class="lit">4</span><span class="pun">,</span><span class="str">'Carol'</span><span class="pun">);</span><span class="pln">
</span><span class="typ">Query</span><span class="pln"> OK</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> row affected </span><span class="pun">(</span><span class="lit">0.79</span><span class="pln"> sec</span><span class="pun">)</span>

Display all records with the help of SELECT statement.

<span class="pln">mysql</span><span class="pun">></span><span class="pln"> </span><span class="kwd">select</span><span class="pln"> </span><span class="pun">*</span><span class="kwd">from</span><span class="pln"> getLastRecord</span><span class="pun">;</span>

The following is the output.

+------+---------+
| Id   | Name    |
+------+---------+
|    1 | John    |
|    2 | Ramit   |
|    3 | Johnson |
|    4 | Carol   |
+------+---------+
4 rows in set (0.00 sec)

Our last record is with id 4 and Name ?Carol?. To get the last record, the following is the query.

<span class="pln">mysql</span><span class="pun">></span><span class="pln"> </span><span class="kwd">select</span><span class="pln"> </span><span class="pun">*</span><span class="kwd">from</span><span class="pln"> getLastRecord ORDER BY id DESC LIMIT </span><span class="lit">1</span><span class="pun">;</span>

The following is the output.

 
+------+-------+
| Id   | Name  |
+------+-------+
|    4 | Carol |
+------+-------+
1 row in set (0.00 sec)

The above output shows that we have fetched the last record, with Id 4 and Name Carol.

Updated on: 2023-09-02T12:47:00+05:30

61K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements