Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mysql récursif soustrayant et multipliant les valeurs groupées

Question interessante. Malheureusement MYSQL ne prend pas en charge les recursive queries , vous devrez donc être un peu créatif ici. Quelque chose comme ceci pourrait fonctionner :

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