PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Problema di ibernazione:deve apparire nella clausola GROUP BY o essere utilizzato in una funzione aggregata

Puoi provare ad avere sum e date_trunc in subquery , qualcosa come di seguito:

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

Basta eseguire nuovamente il raggruppamento in outerquery. Vedi se aiuta.