Hello,
Effectivement si tu fais un SUM sans group by, il va se contenter de te calculer la somme de tous les champs affiche et t'en renvoyé un seul résultat.
En revanche tu peux utiliser ta première requète qui te retourne une seule ligne de la façon suivante :
SELECT
id_product,
(SELECT SUM( price ) AS TOTAL FROM `product`) AS TOTAL
FROM `product`
Voili voilou
(exemple sorti de mon imagination hein donc ne te contente pas de copier coller :p)