Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Coluna desconhecida ao usar o alias mysql


Por favor, poste a pergunta com dados de exemplo, o que facilita o teste e a resposta adequada.

No seu código a1 é o nome da tabela derivada e não o nome da coluna.

As funções agregadas aceitam o parâmetro em termos de nome de coluna.

Tente o seguinte:
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;