sql >> Database >  >> RDS >> Mysql

Mysql recursief aftrekken en vermenigvuldigen van gegroepeerde waarden

Interessante vraag. Helaas MYSQL ondersteunt geen recursive queries , dus je moet hier een beetje creatief zijn. Zoiets zou kunnen werken:

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. Selecteer bovenliggende rij alleen als deze geen onderliggende rij heeft

  2. verander mysql standaard engine naar innodb

  3. Hoe ROWNUM werkt in een paginatiequery?

  4. Hoe MySQL datetime-waarde te converteren naar google chart api datetime