SQL Select Last

SQL语言中的 LAST()函数 显示表中指定列的最后一个值。

注意:此 SQL 函数仅在 Microsoft Access 数据库中支持。Oracle 支持 ORDER BY 和 ROWNUM 关键字,MySQL 支持 LIMIT 关键字选择最后一条记录。

SQL Select Last 语法

SELECT LAST (Field_Name) FROM Table_Name ;  

在上面的语法中,LAST 关键字表示输出中表中要显示的最后一行,Field_Name表示我们要显示其值的列。

SQL Select Last 示例

首先,我们必须创建一个表并将数据插入到 SQL 表中。

以下 SQL 语句以Student_ID作为主键创建Student_Details表:

CREATE TABLE Student_Details  
(  
Student_ID INT NOT NULL,   
Student_Name varchar(100),  
Student_Course varchar(50),  
Student_Age INT,   
Student_Marks INT  
);   

以下 SQL 查询使用 INSERT INTO 语句将学生记录插入到上表中:

INSERT INTO Student_Details VALUES (101, Anuj, B.tech, 20, 88);  
INSERT INTO Student_Details VALUES (102, Raman, MCA, 24, 98);  
INSERT INTO Student_Details VALUES (104, Shyam, BBA, 19, 92);  
INSERT INTO Student_Details VALUES (107, Vikash, B.tech, 20, 78);  
INSERT INTO Student_Details VALUES (111, Monu, MBA, 21, 65);  
INSERT INTO Student_Details VALUES (114, Jones, B.tech, 18, 93);  
INSERT INTO Student_Details VALUES (121, Parul, BCA, 20, 97);  
INSERT INTO Student_Details VALUES (123, Divya, B.tech, 21, 89);  
INSERT INTO Student_Details VALUES (128, Hemant, MBA, 23, 90);  
INSERT INTO Student_Details VALUES (130, Nidhi, BBA, 20, 88);  
INSERT INTO Student_Details VALUES (132, Priya, MBA, 22, 99);  
INSERT INTO Student_Details VALUES (138, Mohit, MCA, 21, 92);  

让我们使用以下 SELECT 语句查看上表的记录:

SELECT * FROM Student_Details;  
Student_ID Student_Name Student_Course Student_Age Student_Marks
101 Anuj B.tech 20 88
102 Raman MCA 24 98
104 Shyam BBA 19 92
107 Vikash B.tech 20 78
111 Monu MBA 21 65
114 Jones B.tech 18 93
121 Parul BCA 20 97
123 Divya B.tech 21 89
128 Hemant MBA 23 90
130 Nidhi BBA 20 88
132 Priya MBA 22 99
138 Mohit MCA 21 92

以下查询在输出中显示上表中的最后一个 Student_Name:

SELECT LAST (Student_Name) AS Last_Student FROM Student_Details; 

输出结果为:

 

MySQL 中 LIMIT 子句的语法

SELECT column_Name FROM Table_Name ORDER BY Column_Name DESC LIMIT 1; 

在这个 MySQL 语法中,我们必须在 LIMIT 关键字之后指定值 1 以指示单行/记录。

MySQL 中 LIMIT 子句的示例

我们以下面这张Employee表来说明如何使用MySQL中的LIMIT子句来访问最后一条记录:

Employee_Id Emp_Name Emp_City Emp_Salary Emp_Bonus
101 Anuj Ghaziabad 35000 2000
102 Tushar Lucknow 29000 3000
103 Vivek Kolkata 35000 2500
104 Shivam Goa 22000 3000

以下 MySQL 查询显示了上述 Employee 表中Emp_City列的最后一个值:

SELECT Emp_City FROM Employee ORDER BY Emp_City DESC LIMIT 1;

输出:

Goa

Oracle 中的 ROWNUM 关键字

从 Oracle 数据库访问最后一条记录的语法如下:

SELECT Column_Name FROM Table_Name ORDER BY Column_Name DESC WHERE ROWNUM <=1;  

在这个 Oracle 语法中,我们必须指定 ROWNUM 关键字,它小于等于 1。在 Oracle 中,ROWNUM 关键字用于 WHERE 子句中,用于从表中检索最后一条记录。

Oracle 中的 ROWNUM 关键字 示例

让我们以下面的 Cars 表来说明如何在 MySQL 中使用 ROWNUM 关键字:

Car_Number Car_Name Car_Amount Car_Price
2578 Creta 3 900000
9258 Audi 2 1100000
8233 Venue 6 900000
6214 Nexon 7 1000000

以下 MySQL 查询显示 Cars 表的Car_Name列中汽车的姓氏: 

SELECT Car_Name FROM Cars ORDER BY Car_Name DESC WHERE ROWNUM <=1; 

输出结果:

Nexon

 

热门文章

优秀文章