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

Aggregati non consentiti nella clausola WHERE nell'errore postgreSQL

Puoi farlo con una funzione finestra in una sottoquery:

select name, add, mobile
from (select a.name, a.add, a.mobile, total,
             avg(ac.total) over (partition by a.name, a.add, a.mobile) as avgtotal, a.total
      from user a INNER JOIN
           user_info aac
           ON aac.userid= a.userid INNER JOIN
           info ac 
           ON aac.infoid= ac.infoid
     ) t
WHERE total < 8 * avgtotal
GROUP BY name, add, mobile;