Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jaki jest odpowiednik SQL dla pandy 'transform'?

Możesz dołączyć do tabeli pochodnej, która zawiera wartość zagregowaną dla każdej grupy b

select * from mytable t1
join (
    select avg(a), b
    from mytable
    group by b
) t2 on t2.b = t1.b

lub za pomocą podzapytania

select *, (select avg(a) from mytable t2 where t2.b = t1.b)
from mytable t1

pytanie jest oznaczone zarówno mysql, jak i psql, więc nie jestem pewien, którego db używasz. Ale na postgresie możesz używać funkcji okna

select *, avg(a) over (partition by b) 
from mytable



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql Wybierz jedną kolumnę dwa razy z tej samej tabeli z różnymi datami w klauzuli where

  2. Jak AKTUALIZOWAĆ tabelę za pomocą SUM() i COUNT() w tej samej tabeli do różnych kolumn?

  3. migracja danych postgreSQL do mysql

  4. Wstaw zapytanie z wewnętrznym sprzężeniem

  5. Jak znaleźć numery seryjne bez przerw w mysql?