问一个SQL语句 如果加个分页效果

ILOVE_ASPNET 2013-03-22 03:09:42

SELECT top 5 O.OrderType,O.ShippingMethod, OA.* FROM Orders O ,OrderAddress OA
WHERE O.ORDERID =OA.OrderID AND O.OrderStatusID<690 AND IsHoldOn =0 AND OA.IsBillingAddress=0 AND O.IsDeleted=0

上面语句是查询 Orders O ,OrderAddress OA 这二个表数据

for(int i=0;i<10;i++){
我现在是需求是 这个循环 去使用上面的语句, 上面每次查询5 条记录,分页的条件就是这个i 值 就是i=0 查询前5条, i=1 查询6到10条,
}
求大家帮忙个 上面语句如何加个分页效果。
...全文
291 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ILOVE_ASPNET 2013-03-22
  • 打赏
  • 举报
回复
引用 2 楼 chuanzhang5687 的回复:
SQL code?12345678select top(5) * from ( select top((@i+1) * 5) O.OrderType,O.ShippingMethod, OA.* FROM Orders O ,OrderAddress OA WHERE O.ORDERID =OA.OrderID AND O.OrderStatusID<690 ……
谢谢楼上的。结贴
albertausun 2013-03-22
  • 打赏
  • 举报
回复
谢谢你楼主!辛苦了!
chuanzhang5687 2013-03-22
  • 打赏
  • 举报
回复


select top(5) * from 
(
	select top((@i+1) * 5) O.OrderType,O.ShippingMethod,  OA.* FROM Orders O ,OrderAddress  OA 
WHERE O.ORDERID =OA.OrderID  AND O.OrderStatusID<690 AND IsHoldOn =0 AND OA.IsBillingAddress=0 AND O.IsDeleted=0 
order by O.ORDERID asc
)
order by 
O.ORDERID desc

shoppo0505 2013-03-22
  • 打赏
  • 举报
回复
你直接在select的时候,添加一个新列,使用ROW_NUMBER() as ID,具体使用google一下,然后where ID between 6 and 10直接选取数据。 你现在的设计,会返回所有数据,引起不必要的资源消耗。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧