oracle中 查询按照顺序排序后 如何只显示排名前三条的信息

供稿:hz-xin.com     日期:2024-05-18
怎么在Oracle中查询最后三条数据

select * from (select rownum,ename from emp order by rownum desc)where rownum<=3;
直接复制粘贴就可以求出来 要加记录 加在 ename 后面 不懂再问我

public List findByPage(
int page, int pageSize)
throws DaoException {
List list =
new ArrayList();
Connection con =
DBUtil.getConnection();
String sql = "select * from (select c.*,rownum r from EMP c) where r?";
try {
PreparedStatement ps =
con.prepareStatement(sql);
//小于下页最小行
int nextMin = page*pageSize+1;
ps.setInt(1, nextMin);
//大于上页最大行
int lastMax = (page-1)*pageSize;
ps.setInt(2, lastMax);
//执行查询
ResultSet rs = ps.executeQuery();
while(rs.next()) {
EMP c=new EMP();
c.set//对各个数据赋值
list.add(c);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close();
}
return list;
}
首先建个EMP实体类,这是dao层的 servlet的楼主需要吗

select * from (select * from TABLE order by COLUMN) where rownum <=3

建议 通过oracle的伪列 rownum 去查