`

SQLServer之分页问题

 
阅读更多

 

   问题记录:

 

   1.order by  row_id失效 

 

   

-- 创建表
BEGIN TRANSACTION
GO
CREATE TABLE [dbo].[table_01]
(
	[id] int NOT NULL ,
	[name] nvarchar(1000) NULL ,
	[addr] nvarchar(1000) NULL 
)
ON [PRIMARY]
GO


EXECUTE sp_addextendedproperty  N'MS_Description', N'', N'SCHEMA', N'dbo', N'TABLE', N'table_01', NULL, NULL
GO

ALTER TABLE [dbo].[table_01] ADD CONSTRAINT [PK_table_01] PRIMARY KEY CLUSTERED 
(
[id]
)
WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
GO



COMMIT



-- 里层数据排序成功,到外层包一层row_id失效了
select * from (
	select top 100 percent  
		ROW_NUMBER() over (order by GETDATE() ) as row_id , 
		* 
		from  [test].[dbo].[table_01]  
		where  [id] > 1  
		order by [id] desc  
		) as t
		
	where t.row_id > 0 and 
		  t.row_id <=500 
	 
	 


-- 分页order by 失效
select * from (
		 select  top 100 percent 
			ROW_NUMBER() over ( order by GETDATE() ) as row_id , 
			t1.* 
			from ( select  * from  [test].[dbo].[table_01]  ) as t1  order by t1.id  desc
			) as t2 
			where 
			t2.row_id > 0
			and t2.row_id <= 500 
			
							

 

0
0
分享到:
评论
1 楼 hbyk3344 2015-03-16  
子句中from 后面的order by 是无效的

相关推荐

    sql Server 通用分页存储过程

    sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程 sql Server 通用分页存储过程

    mybatis中进行sqlserver分页

    mybatis中,sqlserver分页

    sql server 2008通用分页

    SQL server2008中通用分页存储过程,表名,每页长度,页码都是动态赋值。

    Sql Server 通用分页存储过程(适用与 BootStrap Table)

    通用的Sql Server分页程序,并且符合BootStrap Table 的调用标准.

    sqlserver分页查询语句

    sqlserver分页查询语句;sqlserver分页查询语句;sqlserver分页查询语句;

    ASP.NET基于SQLServer的分页

    3. **SQL Server分页查询** - `TOP`子句:在SQL Server中,可以使用`TOP`子句配合`ORDER BY`来实现分页。例如,获取第一页的数据,可以写成`SELECT TOP pageSize * FROM table ORDER BY sortField DESC`。 - `...

    java 连接sqlserver数据库查询,并分页显示

    String url = "jdbc:sqlserver://localhost:1433;databaseName=myDatabase"; String username = "myUsername"; String password = "myPassword"; try { Class.forName(...

    Hibernate+sqlserver2000分页

    综上所述,`Hibernate+sqlserver2000分页`是一个结合了ORM框架和数据库分页策略的技术主题。在实际应用中,开发者需要根据业务需求选择合适的分页方法,并注意性能优化,如避免全表扫描,使用索引来加速查询等。理解...

    SqlServer数据库分页

    在SQL Server数据库中,分页是一种常见的数据检索技术,它允许我们从大量数据中按需获取一部分结果,而不是一次性加载所有记录。这在处理大型数据集时尤其有用,可以提高性能,减少网络传输,以及提供更好的用户体验...

    SQLServer分页.rar

    本资源"SQLServer分页.rar"包含了一个名为"SQL分页.txt"的文件,里面详细讲解了SQL Server中的分页实现方法。 首先,我们来理解SQL Server分页的基本概念。分页通常涉及到两个关键参数:`OFFSET`和`FETCH NEXT`。`...

    sqlserver+group by分组查询分页存储过程

    根据给定的SQL Server存储过程代码片段,我们可以深入解析与SQL Server中的`GROUP BY`分组查询、存储过程以及分页技术相关的知识点。 ### SQL Server中的`GROUP BY`分组查询 `GROUP BY`子句在SQL查询语言中用于将...

    SQL Server2005分页查询

    在SQL Server 2005中,分页查询是一个常见的需求,特别是在处理大量数据时,为了提高用户体验,通常需要一次性加载一定数量的数据,而不是一次性显示所有数据。以下将详细讲解SQL Server 2005中分页查询的常用方法。...

    java语言的分页查询功能(mysql和sql server)

    2. 使用ROW_NUMBER()优化:在SQL Server中,使用`ROW_NUMBER()`结合子查询可以避免`OFFSET`的性能问题,尤其是在大数据量时。 3. 计算总页数:在Java中,通常需要计算总页数,可以通过单独查询获取总记录数再除以每...

    sqlserver 实现分页的前台代码 以及后台的sqlserver语句

    在后端,我们需要处理分页请求,生成对应的SQL Server分页查询语句,并返回结果。这里假设使用Java的Servlet或Spring MVC来处理请求。 1. SQL Server分页语句: SQL Server提供了多种方式实现分页,比如`ROW_NUMBER...

    sqlserver2005分页函数

    一个非常好的sql2005分页函数,简单实用,希望对你有所帮助

    sql server分页技术(SQL Server 与Access数据库相关分页技术)

    以下是几种常用的SQL Server分页技术: 1. **TOP 和 NOT IN** 分页: 这种方法通过`TOP`关键字选取指定数量的记录,然后使用`NOT IN`子句排除已选取的记录。例如,查询第二页的记录,可以先选取前`@RecordStart`个...

    SSH框架+SQLServer实现分页的小项目

    这个"SSH框架+SQLServer实现分页的小项目"提供了一个基础的分页实现示例,适合初学者了解SSH框架如何与数据库交互,以及如何在Java Web应用中实现分页功能。通过研究这个项目,开发者可以学习到SSH框架的整合、...

    Sql Server 通用分页存储过程(BootStrap Table)

    Sql Server BootStrap Table 分页 通用的Sql Server分页程序,并且符合BootStrap Table 的调用标准.

    关于SQL Server SQL语句查询分页数据的解决方案

    关于SQL Server SQL语句查询分页数据的解决方案 在日常工作中,我们经常需要处理大量数据,并从中获取特定页面的数据。特别是在Web应用开发中,为了提高用户体验,通常会将数据进行分页显示。针对这一需求,本文将...

Global site tag (gtag.js) - Google Analytics