Buenas tardes/noches (dependiendo de donde sean

).
Estoy haciendo un buscador para un script que programo, en el cual muestro junto a los resultados (publicaciones, o simplemente "posts"), la cantidad de visitas que hayan tenido (entre otras cosas), pero principalmente
la cantidad de puntos que haya recibido (sí, tiene un sistema de puntuación de contenido, ya que es un script
LinkSharing).
Todo va bastante bien hasta el momento, aunque me falta bastante para terminarlo, sin embargo, me ha surgido un inconveniente en la suma de los puntos que haya recibido cada publicación. ¿Qué es lo que sucede? Muestra una cantidad errónea y totalmente desproporcionada a la real.
Una imagen vale más que mil palabras:

(El que muestra 0 puntos es porque puse un operador ternario para los que no tengan puntos, ya que SUM() devuelve vacío cuando no hay resultado).
Un ejemplo de las queries que genera mi PHP:
SELECT p.id, p.title, c.urlname, u.rank, SUM(po.amount) AS p_points, COUNT(v.id) AS p_visits, MATCH(p.title, p.content) AGAINST('remedio anti estres') AS matches FROM posts AS p LEFT JOIN cats AS c ON p.cat = c.id LEFT JOIN users AS u ON p.author = u.id LEFT JOIN points AS po ON p.id = po.post LEFT JOIN visits AS v ON p.id = v.post WHERE MATCH(p.title, p.content) AGAINST('remedio anti estres') GROUP BY p.id ORDER BY matches DESC
Creo que allí se entiende más o menos cómo es la estructura de las tablas, de no ser así, díganmelo y me explayo más sobre ellas para dar más datos.
En apariencia, debería funcionar bien, e incluso ya he consultado a varias personas al respecto infructuosamente, por ello es que recurro a preguntarles a ustedes.
¿Qué es lo que hago mal? Porque francamente no lo encuentro :/ Ni yo, ni las personas a las que les pregunté.

Espero que puedan ayudarme con este problemilla, gracias de antemano.

¡Saludos!