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

Mysql rekurencyjne odejmowanie i mnożenie zgrupowanych wartości

Interesujące pytanie. Niestety MYSQL nie obsługuje recursive queries , więc musisz być tutaj trochę kreatywny. Coś takiego może działać:

select flag,
  sum(calc)
from (
  select flag, 
    (num-if(@prevflag=flag,@prevnum,0))*val calc,
    @prevnum:=num prevnum,
    @prevflag:=flag prevflag
  from yourtable 
    join (select @prevnum := 0, @prevflag := 0) t
  order by flag
  ) t
group by flag



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak dołączyć tabelę do tego kodu SQL?

  2. Jaka jest różnica między tinyint, smallint, mediumint, bigint i int w MySQL?

  3. Jak zablokować wiersz do wyboru w MySQL?

  4. Procedura składowana, która automatycznie usuwa wiersze starsze niż 7 dni w MYSQL

  5. Jak zduplikować tabelę w MySQL