2013-03-22 35 views
2

我正在jsp中编写分页(并且我是编写sql的新手)。mssql server 2008的分页查询在'OFFSET'附近抛出错误的语法

我做我的研究,发现简单的查询从

pagination in SQL server 2008How to do pagination in SQL Server 2008

SELECT * FROM document ORDER BY id OFFSET 
        "+iPageNo+" ROWS FETCH NEXT 10 ROWS ONLY; 

在上面的查询ipageNo是首次来0(即使我试图通过手动把1)

仍然给出错误Incorrect syntax near 'OFFSET'.

我在这里错过了什么?提前致谢。

回答

2

这是我的工作,现在工作正常。

SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY id) AS rownumber,* 
     FROM document) as somex WHERE rownumber >= (1+1)*10-9 
         AND rownumber <=(1+1)*10 

在上述查询我与(pageNUmber+1)替换(1+1)

enter image description here

请随时免费的,如果任何优雅的方式提供给建议我。

+0

嗨,我们怎样才能通过查询添加订单?我试过了。它给了我一个错误,说“ORDER BY子句在视图,内联函数,派生表,子查询和公用表表达式中是无效的,除非还指定了TOP或FOR XML。”是否有可能具有集合函数,如“分组依据”? – 2014-02-24 14:35:20

4

你会发现从ORDER BY Clause (Transact-SQL)此语法在SQL Server支持2008

您可以从2008文档

**Syntax** 

[ ORDER BY 
    { 
    order_by_expression 
    [ COLLATE collation_name ] 
    [ ASC | DESC ] 
    } [ ,...n ] 
] 

看到为2012 documentation

**Syntax** 
ORDER BY order_by_expression 
    [ COLLATE collation_name ] 
    [ ASC | DESC ] 
    [ ,...n ] 
[ <offset_fetch> ] 


<offset_fetch> ::= 
{ 
    OFFSET { integer_constant | offset_row_count_expression } { ROW | ROWS } 
    [ 
     FETCH { FIRST | NEXT } {integer_constant | fetch_row_count_expression } { ROW | ROWS } ONLY 
    ] 
} 

也许还看看how to do pagination in sql server 2008

+0

感谢您的info.But有趣的一点是ORDER BY正在为我工​​作。 – 2013-03-22 07:31:01

+1

是的,顺序会工作得很好,它是分页部分,只有SQL SERVER 2008 – 2013-03-22 07:32:10

+0

啊..之后才可用。在某些解决方法后,我发现了一些查询并在此发布。如果可能,请检查一次吗? – 2013-03-22 07:47:20

1

我希望this将帮助(适用于SQL Server 2008)。

+0

+1。感谢链接@ msi.i会尝试这一点。我也接受了我的答案。 – 2013-03-25 16:49:44

0
DECLARE @Page int 
SET @Page = 2 
DECLARE @Amount int 
SET @Amount = 25 
SELECT * FROM (
SELECT ROW_NUMBER() OVER(ORDER BY group_id) AS rownumber, * FROM table_name 
WHERE Column LIKE '%Search_Value%') as somex 
WHERE rownumber >= (@Page+1)* @Amount-(@Amount - 1) AND rownumber <= (@Page+1) * @Amount 

我更进了一步。添加了一些变量来使信息输入更好一些。在我的公司,我们有更老的数据库,所以这个feed帮助了我很多。

相关问题