Java 如何从结果集中获取一组行数

Java 如何从结果集中获取一组行数,java,html,prepared-statement,resultset,Java,Html,Prepared Statement,Resultset,我只需要一个结果集中最新的两个项目,我想知道在没有中断的情况下最好的方法是什么。我意识到rs.next()返回true或false并试图用计数器停止,但失败了。我现在有一个问题: while(rs.next()){ String name = rs.getString("name"); String startTime = rs.getString("starting_time"); String endTime = rs.getString("ending_time")

我只需要一个结果集中最新的两个项目,我想知道在没有
中断的情况下最好的方法是什么。我意识到
rs.next()
返回
true
false
并试图用计数器停止,但失败了。我现在有一个问题:

while(rs.next()){
    String name = rs.getString("name");
    String startTime = rs.getString("starting_time");
    String endTime = rs.getString("ending_time");
    String date = rs.getString("directory");
    String loc = rs.getString("location");

    htmlBuilder.append("<li><a href='public/committees/calendar'>"+ name+"<br>"); 
    htmlBuilder.append(date +"  "+startTime+" - "+endTime+"</a> <!-- Link/title/date/start-end time --><br>");
    htmlBuilder.append("<strong>Location: </strong>"+loc+"<br>");
    htmlBuilder.append("</li>");        
}       
html = htmlBuilder.toString();

添加rownum属性效果很好,查询在返回之前已排序。感谢您的帮助

您应该将查询限制为仅返回最新的两行。这可以通过LIMIT子句(存在于MySQL中,不确定其他数据库)和ORDERBY子句来实现


不需要添加对结果集返回的行进行计数的索引。

您应该限制查询只返回最新的两行。这可以通过LIMIT子句(存在于MySQL中,不确定其他数据库)和ORDERBY子句来实现


不需要添加对结果集返回的行进行计数的索引。

您可以限制查询本身中的行数<代码>行数
如果使用oracle。另外,计数器和使用break也应该有效。发布您尝试的内容。您可以限制查询本身中的行数<代码>行数如果使用oracle。另外,计数器和使用break也应该有效。发布您尝试过的内容。这更适合评论+1尽管如此。+1如果您有一个自动递增的id,请按降序排列id字段order@sᴜʀᴇsʜᴀᴛᴛᴀ 这就回答了问题。我本应该包含SQL来限制查询,但我不知道原始查询是什么样子。这更适合于评论+1尽管如此。+1如果您有一个自动递增的id,请按降序排列id字段order@sᴜʀᴇsʜᴀᴛᴛᴀ 这就回答了问题。我本应该包含SQL来限制查询,但我不知道原始查询是什么样子。
SELECT  to_char(to_date(to_char(x.starting_date), 'J'),'mm/dd/yyyy') as start_date,  to_char(to_date(to_char(x.ending_date), 'J'),'mm/dd/yyyy') as end_date,  to_char(to_date(to_char(x.starting_date), 'J'),'yyyy-mm-dd') as directory,  x.starting_time,  x.ending_time,  x.description,  x.description as location,  x.name,  x.short_name,  x.add_info_url,  x.contact_name,  x.contact_info FROM calitem x, calendar x, calitemtypes x WHERE x.calendar_id = x.calendar_id AND x.short_name LIKE ? AND x.style_id = 0 AND x.starting_date > to_char(sysdate-1, 'J') AND x.item_type_id = x.item_type_id AND ROWNUM <= 3 ORDER BY to_date(to_char(x.starting_date), 'J')