相关疑难解决方法(0)

在SQL Server中限制10..20

我正在尝试做类似的事情:

SELECT * FROM table LIMIT 10,20
Run Code Online (Sandbox Code Playgroud)

要么

SELECT * FROM table LIMIT 10 OFFSET 10
Run Code Online (Sandbox Code Playgroud)

但是使用SQL Server

我找到的唯一解决方案看起来像是矫枉过正:

SELECT * FROM ( 
  SELECT *, ROW_NUMBER() OVER (ORDER BY name) as row FROM sys.databases 
 ) a WHERE row > 5 and row <= 10
Run Code Online (Sandbox Code Playgroud)

我还发现:

SELECT TOP 10 * FROM stuff; 
Run Code Online (Sandbox Code Playgroud)

...但这不是我想要做的,因为我无法指定起始限制.

我还有另一种方法吗?

另外,只是好奇,有没有一个理由为什么SQL Server不支持该LIMIT功能或类似的东西?我不想吝啬,但这听起来像DBMS需要的东西......如果确实如此,那么我很抱歉这么无知!我在过去的5年里一直在使用MySQL和SQL +所以......

sql sql-server pagination limit

158
推荐指数
7
解决办法
28万
查看次数

JDBC分页

我想用JDBC实现分页.我想知道的实际情况是"如何从第1页和第2页的数据库中获得前50个然后下50条记录"

我的查询是Select * from data[数据表包含20,000行]

对于第1页,我得到50条记录,对于第2页,我希望获得接下来的50条记录.如何在JDBC中有效地实现它?

我已经搜索过,发现这rs.absolute(row)是跳过第一页记录的方法,但是在大型结果集上花费了一些时间,我不想承受这么多时间.另外,我不想在查询中使用rownumlimit+ offset,因为这些不适合在查询中使用,我不知道为什么,我仍然不想在查询中使用它.

任何人都可以帮助我如何限制ResultSet分页或JDBC是否有任何方式给我们?

java sql pagination jdbc

33
推荐指数
3
解决办法
8万
查看次数

Oracle中的分页最佳实践?

问题:我需要写存储过程(S)将返回行的单个页面的结果集总的行数.

解决方案A:我创建了两个存储过程,一个返回单个页面的结果集,另一个返回标量 - 总行数.解释计划说第一个sproc的成本为9,第二个的成本为3.

SELECT  *
FROM    ( SELECT ROW_NUMBER() OVER ( ORDER BY D.ID DESC ) AS RowNum, ...
        ) AS PageResult
WHERE   RowNum >= @from
    AND RowNum < @to
ORDER BY RowNum

SELECT  COUNT(*)
FROM    ...
Run Code Online (Sandbox Code Playgroud)

解决方案B:我将所有内容都放在一个sproc中,方法是在结果集中的每一行添加相同的TotalRows数字.这个解决方案感觉很乱,但成本只有9,只有一个sproc,所以我倾向于使用这个解决方案.

SELECT * 
FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY D.ID DESC  ) RowNum, COUNT(*) OVER () TotalRows,
WHERE RowNum >= from
        AND RowNum < to
ORDER BY RowNum;
Run Code Online (Sandbox Code Playgroud)

Oracle中的分页是否有最佳实践?在实践中最常使用哪种上述解决方案?他们中的任何一个被认为是完全错误的?请注意,我的数据库将保持相对较小(小于10GB).

我正在使用Oracle 11g和最新的ODP.NET与VS2010 SP1和Entity Framework 4.4.我需要最终的解决方案才能在EF …

oracle pagination

27
推荐指数
3
解决办法
5万
查看次数

JSF2 Paging/Pager for Repeater

当你写的每一个代码都能立即工作并且你的日程安排不足时,你是否知道这种感觉:-P就像'噢,现在我有时间让它变得完美'.那就是我现在的位置^^

所以我用JSF(ui:repeat)实现了一个转发器,我想到了所有实体的分页.有没有一种简单的方法可以做到这一点?有什么要点我要考虑的?

如果有人给我一些帮助会很好.到目前为止,我的googleskills没有帮助我:-P

干杯...

jsf pagination repeater jsf-2

13
推荐指数
2
解决办法
1万
查看次数

如何在JSP中进行分页...?

请不要低估我的问题,因为我是JSP/JavaEE的新手.

我看了很多关于JSTL,Pagination的教程,但是我无法做出适当的想法来进行分页......是否有一种方法来执行分页......?

在我的程序中,我使用java类从数据库中检索搜索结果的记录,并将它们放入ArrayList并将ArrayList返回给Servlet.然后将收到的ArrayList对象分配给这样的应用程序属性

request.setAttribute("Results", results_List);
Run Code Online (Sandbox Code Playgroud)

然后使用请求调度程序,我正在加载显示jsp页面的结果.

RequestDispatcher rd = request.getRequestDispatcher("searchresults.jsp");
rd.forward(request, response);
Run Code Online (Sandbox Code Playgroud)

所以告诉我下一步做分页我的搜索结果..

java pagination jsp

2
推荐指数
1
解决办法
2万
查看次数

Java JDBC中的分页

我有一张包含数百万条记录的表格.为了使系统更快,我需要在我的Java代码中实现分页概念.我需要一次只获取1000条记录并处理它们,然后选择另外1000条记录并进行处理等等.我已经尝试了一些东西,但没有一个在起作用.我试过的一些事情如下 -

1) String query = "select * from TABLENAME" +  " WHERE ROWNUM BETWEEN %d AND       %d";
sql = String.format(query, firstrow, firstrow + rowcount);
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,当查询是SELECT * from TABLENAME Where ROWNUM BETWEEN 0 and 10它给我一个结果但是当查询是SELECT * from TABLENAME Where ROWNUM BETWEEN 10 and 20,它返回一个空的结果集.我甚至试图在DB中运行它,它返回Empty结果集(不知道为什么!!)

2)preparedStatement.setFetchSize(100);我在我的Java代码中有这个,但它仍然从表中获取所有记录.无论如何,添加此语句并不会影响我的代码.

请帮忙!

java oracle pagination jdbc

1
推荐指数
1
解决办法
4592
查看次数

标签 统计

pagination ×6

java ×3

jdbc ×2

oracle ×2

sql ×2

jsf ×1

jsf-2 ×1

jsp ×1

limit ×1

repeater ×1

sql-server ×1