sql >> Base de Datos >  >> RDS >> Mysql

Columna desconocida al usar alias mysql

Publique una pregunta con datos de muestra, lo que facilita la prueba y la respuesta adecuada.

En tu código a1 es el nombre de la tabla derivada, no el nombre de la columna.

Las funciones agregadas aceptan el parámetro en términos de nombre de columna.

Prueba lo siguiente:

select max(av) - min(av) from
(
    select avg(av1) av from
        (
            select avg(stars) av1
            from rating join movie m using(mID)
            where year < 1980
            group by mID
        ) as av1
    union
    select avg(av2) av from
        (
            select avg(stars) av2
            from rating join movie m using(mID)
            where year > 1980
            group by mID
        ) as av2
) as a1;