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;