Никакого округления у вас там нет. В вашем запросе выбирается минимальное значение price и первые попавшиеся по остальным полям. Вам нужен запрос типа такого:
SELECT p.id, p.price, p.code FROM products p
JOIN
( SELECT product_id, MIN(price) minPrice
FROM products WHERE price IS NOT NULL GROUP BY product_id
) p2
ON p.price = p2.minPrice AND p.product_id = p2.product_id;
Лет 6 назад на Хабре была статья как с помощью вроде php и оригинала водяного знака убрать этот самый водяной знак. Не помню уже как называлось.
Идея в статье была достаточно простая - вроде как пиксели, содержащие водяной знак просто xor'ились с исходным водяным знаком