sql >> Database teknologi >  >> RDS >> Mysql

Mysql rekursiv subtrahering og multiplikation af grupperede værdier

Interessant spørgsmål. Desværre MYSQL understøtter ikke recursive queries , så du skal være lidt kreativ her. Noget som dette kunne fungere:

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. Brug af IN med en underforespørgsel bruger ikke indeks

  2. SQL Server-fejl 109:Der er flere kolonner i INSERT-sætningen end værdier angivet i VALUES-sætningen

  3. Sådan går du gennem et mysql-resultatsæt

  4. MySqlException på ExecuteReader ved at vælge UserID(PK)