sql >> Databáze >  >> RDS >> Mysql

Mysql rekurzivní odečítání a násobení seskupených hodnot

Zajímavá otázka. Bohužel MYSQL nepodporuje recursive queries , takže zde budete muset být trochu kreativní. Něco takového by mohlo fungovat:

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. glassfish 4 a MySQL a JSTL

  2. Nastavení jazykových parametrů Oracle pro DG4ODBC

  3. Pochopení systémových sloupců v PostgreSQL

  4. Jak generovat data testu DB