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

Qual é o equivalente SQL para pandas 'transform'?


Você pode juntar-se a uma tabela derivada que contém o valor agregado para cada agrupamento de b
select * from mytable t1
join (
    select avg(a), b
    from mytable
    group by b
) t2 on t2.b = t1.b

ou usando uma subconsulta
select *, (select avg(a) from mytable t2 where t2.b = t1.b)
from mytable t1

a pergunta está marcada com mysql e psql, então não tenho certeza de qual db você está usando. Mas no postgres você pode usar funções de janela
select *, avg(a) over (partition by b) 
from mytable