Понятно.Вы хотите получить «среднее» по «продукту», а не по всем продуктам.Итак, вам нужно рассчитать это самостоятельно, используя COUNT(DISTINCT)
:
SELECT p.category AS category_id,
SUM(s.selling_price::numeric) / COUNT(DISTINCT p.product_id)
FROM product p JOIN
supply s
ON p.product_id = s.product_id
GROUP BY p.category;