stevenbill 2011-03-18 17:26
浏览 271
已采纳

java 取结果集的最后三项,

数据库是oracle 10G

我现在插入数据:

insert into you (id,name) values (1,'john1');

insert into you (id,name) values (2,'john2');

insert into you (id,name) values (3,'john3');

insert into you (id,name) values (4,'john4');

insert into you (id,name) values (5,'john5');

我想取最后三条记录,

3 john3

4 john4

5 john5

这个怎么实现呢? 请指教

Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
conn = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl", "zhang",
"zhang");
stmt = conn.createStatement();
String url = "select * from you where rownum<=3 order by id desc";

我这里只能取到前三条,取不了后三条,
rs = stmt.executeQuery(url);
while (rs.next()) {
out.print(rs.getString("id"));
out.print(rs.getString("name"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}

  • 写回答

3条回答 默认 最新

  • enet_java 2011-03-18 17:38
    关注

    SELECT * FROM (SELECT * FROM you ORDER BY id DESC ) WHERE ROWNUM<=3;

    如果ID是自增的,这样应该是可以的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码