PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Problème d'hibernation :doit apparaître dans la clause GROUP BY ou être utilisé dans une fonction d'agrégation

Vous pouvez essayer d'avoir votre sum et date_trunc dans subquery , quelque chose comme ci-dessous :

SELECT colA, SUM(colB) FROM (SELECT date_trunc('month',UA.activity_date) colA,SUM(UA.points) colB FROM user_activity UA
WHERE UA.activity_date > '01/01/2014' AND UA.activity_date < '12/31/2014' 
GROUP BY UA.activity_date
ORDER BY date_trunc('month',UA.activity_date))sub GROUP BY colA

Effectuez à nouveau group by dans outerquery. Voyez si cela aide.