PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Aggregate in WHERE-Klausel in PostgreSQL-Fehler nicht zulässig

Sie können dies mit einer Fensterfunktion in einer Unterabfrage tun:

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;