On Wed, 5 May 2004 19:41:32 +0200 
Julien Martin <[EMAIL PROTECTED]> wrote:

> Hello,
> 
> Thanks a lot for the replies. I have changed the 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
> 
> GROUP BY 
>       ES.DB_ESTABLISHMENT_ID
> 
> HAVING 
>       AVG(DB_GRADE) > 2
> 
> ORDER BY
>       AVG(GRADE)
> **************************
> 
> Now I am having a problem with the order by clause. How can I have
> the AVG function in the ORDER BY clause or how can I sort by average
> grade?

I THINK you need to alias your column to do this:

SELECT  
        DB_ESTABLISHMENT_NAME,
        AVG(DB_GRADE) AS AVG_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

ORDER BY
        AVG_GRADE
        ^^^^^^^^^

Josh 


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

Reply via email to