我试图从MySql数据库的单列中检索最近添加的最后3行。请帮忙-
我的jsp代码:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ page import="java.sql.* "%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title></title>
</head>
<body>
<% Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/eco", "root", "vicky");
PreparedStatement ps = con.prepareStatement("select * from registration");
ResultSet rs=ps.executeQuery();
rs.afterLast();
while(rs.previous()){ %>
<p> <%= rs.getString(2) %> </p>
<%} %>
</body>
</html>
我的数据库结构:
ID username email password
1 vikas vikas5@gmail.com 44
2 Aravind Aravind@gmail.com 12
3 rakesh rakesh@gmail.com 123
4 chandra chnadra@gmail.com 123
5 shiva chinthala@gmail.com 12345
6 sai sai@gmail.com 4321
7 ravi ravi@gmail.com 987654
我的输出
ravi
sai
shiva
chandra
rakesh
Aravind
vikas
但是我想要输出为
ravi sai shiva
chandra rakesh Aravind
vikas
答案 0 :(得分:0)
您需要使用Order By with Limit。
Order by ID DESC
根据ID
列按降序对数据进行排序。LIMIT 3
获取排序数据中的前3行。更改以下内容:
PreparedStatement ps = con.prepareStatement("select * from registration");
到
PreparedStatement ps = con.prepareStatement("select * from registration order by ID desc limit 3");
答案 1 :(得分:0)
如果只想获取最后3条记录,则需要更改查询。
您必须编写这样的嵌套查询:
选择* FROM(从注册中选择*,然后按ID排序)注册 其中rownum <= 3 ORDER BY rownum DESC;
请参阅以下链接以获取更多信息:
https://www.techonthenet.com/oracle/questions/bottom_records.php
这是一个非常不错的网站,对学习数据库和其他技术很有帮助。
我希望它将对您有帮助
,你也可以做到 这个查询也可以
选择*来自注册,按ID降序限制3;