簡體   English   中英

從mysql數據庫的單列中檢索有限的行

[英]Retrieve limited rows from single column from mysql database

我試圖從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

您需要使用Order By with Limit

  • Order by ID DESC排序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");

如果您只想獲取最后3條記錄,則需要更改查詢。

您必須編寫一個嵌套查詢,如下所示:

SELECT * FROM(從注冊ORDER BY ID中選擇*)在WHERE rownum <= 3 ORDER BY rownum DESC;

請參考以下鏈接以獲取更多信息:

https://www.techonthenet.com/oracle/questions/bottom_records.php

https://www.techonthenet.com

這是一個非常不錯的網站,對學習數據庫和其他技術很有幫助。

希望對您有幫助

而且你也可以做到這一點查詢也可以

SELECT * FROM registration ORDER BY ID DESC LIMIT 3;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM