Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Mysql rekursives Subtrahieren und Multiplizieren von gruppierten Werten

Interessante Frage. Leider MYSQL unterstützt keine recursive queries , also müssen Sie hier ein wenig kreativ sein. So etwas könnte funktionieren:

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