**SQL LEFT JOIN 分页查询笔记**

分页查询笔记

根据商品的地区分页显示20个订单,
订单表:类型 ,订单
商品表:类型,地区

错误:
SELECT TOP 20 c.* FROM
(select a.*,TypeID, row_number() over(ORDER BY OrderID DESC) as rownumber FROM tablea as a LEFT JOIN tableab as b ON a.AwardID = b.AwardID
) as c WHERE 1 = 1 AND TypeID = 1 AND rownumber> 0 ORDER BY OrderID DESC
分析:此时rownumber为tablea的原始表index,导致翻页的时候并非真实数据的第20.

正确:
SELECT TOP 20 d.* FROM
(SELECT , row_number() over(ORDER BY OrderID DESC) as rownumber FROM
(SELECT a.
,TypeID FROM tablea as a LEFT JOIN tableb as b ON a.AwardID = b.AwardID WHERE 1 = 1 AND TypeID = 1) as c
) as d
WHERE rownumber> 20 ORDER BY OrderID DESC
分析:将表格先查找出来后命名为C,再将C提取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值