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]