SQL SELECT LAST
在结构化查询语言中, LAST() 函数显示指定表格列的最后一个值。
注意:这个SQL函数只支持Microsoft Access数据库。Oracle支持ORDER BY和ROWNUM关键字,而MySQL支持使用LIMIT关键字选择最后一条记录。
LAST()函数的语法
SELECT LAST (Field_Name) FROM Table_Name ;
在上述语法中,LAST关键字表示输出中要显示的最后一行, Field_Name 表示要显示值的列。
SQL中LAST函数的示例
示例1:
首先,我们必须在SQL中创建一个表并将数据插入到表中。
以下SQL语句创建了 Student_Details 表,其中 Student_ID 是主键:
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查询显示了上面员工表中 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