Code has been added to clipboard!

Using SQL LAST

Reading time 2 min
Published Aug 9, 2017
Updated Oct 3, 2019

SQL LAST: Main Tips

  • SQL SELECT LAST function brings back the value of the last data record of the defined column.
  • The type it returns is the same as the Scalar.

Syntax of SQL LAST

Example
SELECT LAST(col_name) FROM tbl_name;

Note: SQL SELECT LAST function is only supported in the MS Access. Therefore, the following workarounds have to be used to retrieve the last record in MySQL, Oracle and SQL server.

Workaround in SQL Server, MySQL and Oracle

SQL Server: Syntax

SELECT TOP 1 col_name FROM tbl_name
ORDER BY col_name DESC;

Example
SELECT TOP 1 Name FROM Customers
ORDER BY ID DESC;

MySQL: Syntax

SELECT col_name FROM tbl_name
ORDER BY col_name DESC
LIMIT 1;

Example
SELECT Name FROM Customers
ORDER BY ID DESC
LIMIT 1;

Oracle: Syntax

SELECT col_name FROM tbl_name
ORDER BY col_name DESC
WHERE ROWNUM <=1;

Example
SELECT Name FROM Customers
ORDER BY ID DESC
WHERE ROWNUM <=1

Demo Database

In the below table, there is a part of a Customers table:

ID Name Contact Address City Postal_Code Country
1 Ben Choplinks Ben Choplink Obeesre Str. 51 Rome 11207 Italy
2 Donald Rich Donald Richario Avda. de la Confgfstitución 4122 Tallin 17021 Estonia
3 Lilly Smilkins Lilly Smilkin Matadsderos 2312 Eguero 14023 Mexico
4 Brandinina Tom Hitchins 110 Hanegover Sq. London WB2 2DP UK
5 Carizmos Christiano Kerrys Berguvsesvägen 9 Luleå S-968 43 Sweden

SQL LAST: Example

In the code example below, we make SQL select last value of the column CustomersName in the table Customer:

Example
SELECT LAST(Name) AS LastCustomerID FROM Customers;
Learn SQL
Introduction
Syntax
Data Types
Server Data Types
Commands
Commands List
Wildcards
Constraints
Aggregate Functions
Date Functions
Date Format
Injection
SQL Server Hosting
Views
Auto-incrementation
SQL Operators
AS
AND & OR
IN
BETWEEN
WHERE
GROUP BY
HAVING
ORDER BY
LIKE
NOT
NOT EQUAL
UNION
NULL
NOT NULL
DEFAULT
UNIQUE
FOREIGN KEY
PRIMARY KEY
CHECK
Indexes
ALTER TABLE
CREATE DATABASE
CREATE TABLE
DELETE
DROP
INSERT INTO SELECT
INSERT INTO
SELECT
SELECT DISTINCT
SELECT INTO
SELECT TOP
UPDATE
FULL OUTER JOIN
INNER JOIN
JOIN
LEFT JOIN
RIGHT JOIN
AVG()
COUNT
FIRST
LAST
MAX
MIN()
SUM()
LEN
UCASE
MID
NOW
ROUND
FORMAT
LOWER
CONVERT
ISNULL