Julien Martin <[EMAIL PROTECTED]> wrote:

>I have a sql query as follows:
>
>**************************
>SELECT 
>       DB_ESTABLISHMENT_NAME,
>       AVG(DB_GRADE)
>
>FROM   
>       ESTABLISHMENTS ES LEFT OUTER JOIN GRADES GR ON
>ES.DB_ESTABLISHMENT_ID=GR.DB_ESTABLISHMENT_ID
>
>WHERE 
>       AVG(DB_GRADE) > 2
>
>GROUP BY 
>       ES.DB_ESTABLISHMENT_ID
>;
>**************************
>and I get the following error:
>
>ERROR 1111: Invalid use of group function
>
>Can anyone tell me how to use a function in the where clause?

You need to use HAVING instead of WHERE:

 SELECT DB_ESTABLISHMENT_NAME, AVG(DB_GRADE)
 FROM   ESTABLISHMENTS ES LEFT OUTER JOIN GRADES GR
     ON ES.DB_ESTABLISHMENT_ID=GR.DB_ESTABLISHMENT_ID
 GROUP BY ES.DB_ESTABLISHMENT_ID
 HAVING AVG(DB_GRADE) > 2
 ;
 
 - seb

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to