Tienes un problema si esa tabla no tiene un identificador propio, un idtabla numérico y distinto para cada ingestión.
Si lo tienes, puedes hacerlo así:
Código sql:
Ver originalSELECT tabla.iduser, SUM( tabla.gramos )
FROM tabla
INNER JOIN (
SELECT idtabla, iduser, comida
FROM tabla
WHERE iduser =1
AND fecha_datos >DATE_ADD(CURDATE(), INTERVAL - 8 DAY)
GROUP BY comida, fecha_datos
)t1 ON t1.idtabla = tabla.idtabla
GROUP BY tabla.iduser
esto te sacará los gramos de la primera ingestión que se repita; es decir que si hace dos comidas, sumará los datos de la primera, e igual con desayuno y cena. Podrías sacar también los datos teniendo en cuenta la mayor cantidad o menor cantidad de gramos por ingestión.
Ahora bien, si no tienes ese id propio de cada ingestión, te resultará difícil, pues tanto la fecha como el iduser, como la comida o los gramos pueden repetirse.