Я работаю с базой данных и сервлетами, была такая проблема.Мне нужно получить данные из базы данных по 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!Как доказать это?