我正在处理数据库和 servlet,出现了这样的问题。我需要从每页 6 条的数据库中接收数据,为此我提出了这样的请求
SELECT *, COUNT(*) AS 'count'
FROM product
INNER JOIN product_category
on product.product_category_id = product_category.id
INNER JOIN company_manufacturer_product
on product.company_manufacturer_product_id =
company_manufacturer_product.id
GROUP BY 1 LIMIT 6 OFFSET 0;
其中 6 是每页的最大项目数,0 是页码乘以最大货物数量。但是在第二页上有这样的实现我有重复的产品我该如何改进它?
我形成请求的代码部分:
StringBuilder startResponse = new StringBuilder("SELECT *, COUNT(*) AS 'count' FROM product " +
"INNER JOIN product_category on product.product_category_id = product_category.id " +
"INNER JOIN company_manufacturer_product on product.company_manufacturer_product_id=company_manufacturer_product.id");
if (nonNull(form.getProductMax()) && nonNull(form.getPage())) {
startResponse.append(" LIMIT ").append(form.getProductMax()).append(" OFFSET ").append(form.getPage() * form.getProductMax());
}
我的数据库没有 LIMIT 和 OFFSET 响应:
当我使用上述查询时,我的数据库响应,当我转到带有商品的第一页时,此请求将发送到数据库:
当我翻到有商品的第二页时,我向数据库发送了这样一个请求
SELECT * , COUNT(*) AS 'count'
FROM product
INNER JOIN product_category
on product.product_category_id = product_category.id
INNER JOIN company_manufacturer_product
on product.company_manufacturer_product_id =
company_manufacturer_product.id
GROUP BY 1 LIMIT 6 OFFSET 6;
我有这样的回应:
我不明白是什么问题。我必须通过 COUNT 使用请求!怎么证明?
红糖糍粑
桃花长相依
相关分类