SELECT * FROM(
SELECT row_number() OVER( ORDER BY a.price ASC )AS rowNum, COUNT(1) OVER() AS totalElements ,a.*
FROM vProductSKU AS a
WHERE a.sku_name LIKE '%名%'
)AS tb WHERE rownum BETWEEN 1 AND 300
SELECT * FROM(
SELECT row_number() OVER( ORDER BY a.price ASC )AS rowNum, COUNT(1) OVER() AS totalElements , a.*, b.AttributeValueDesc
FROM vProductPackItemProductList AS a JOIN vProductSKU AS b
ON b.product_sku=a.sku_id
WHERE a.pack_describe LIKE '%价%'
)AS tb WHERE rownum BETWEEN 1 AND 300
SELECT * FROM(
SELECT row_number() OVER( ORDER BY a.id ASC )AS rowNum, COUNT(1) OVER() AS totalElements ,a.*,b.AttributeValueDesc,b.sku_name
FROM tb_product_pack_item AS a JOIN vProductSKU AS b
ON b.product_sku=a.sku_id
WHERE a.remark LIKE '%数%'
)AS tb WHERE rownum BETWEEN 1 AND 300
页数的巧妙换算:前端传入page 和size , page是第几页,从第一页开始,size 是每页显示多少条
因为:数据库数据是从第一条开始算起!!所以 使用 BETWEEN AND 时要这样换算
int startPage=(page-1)*size+1;
int endPage=page*size;
本文介绍了如何在SQL中实现高效的数据分页查询,通过具体示例展示了如何利用窗口函数ROW_NUMBER()和COUNT()进行数据排序及总数统计,并给出了前端与数据库间页数换算的方法。
3718

被折叠的 条评论
为什么被折叠?



