Объясните поведение MySQL, связанное с ORDER BY и LIMIT
Одно из основных положений теории баз данных гласит, что если не задана сортировка, то данные могут выдаваться в абсолютно любом порядке. У вас сортировка идёт по полю, для которого значение всех записей совпадает, и данные не сортируются.
Чтобы этого избежать, добавьте ещё одну сортировку по первичному ключу или любому другому полю с уникальными значениями, например (не знаю названия ключевого поля в вашей таблице, замените `id` на него):SELECT * 
FROM  `products`
ORDER BY `position` DESC, `id` ASC
LIMIT 800 , 38
А что вернет SELECT *
FROM `products`
WHERE 1
ORDER BY `position` DESC
LIMIT 800  OFFSET 38
иSELECT *
FROM `products`
WHERE 1
ORDER BY `position` DESC
LIMIT 800 OFFSET 37
?