sql >> Databasteknik >  >> RDS >> Mysql

MySQL-fråga som beräknar delsummor

Du kan göra detta genom att gå med i bordet på sig själv. SUMMA kommer att lägga ihop alla rader upp till denna rad:

select cur.id, sum(prev.val)
from TheTable cur
left join TheTable prev
    on cur.id >= prev.id
group by cur.id

MySQL tillåter också användningen av användarvariabler för att beräkna detta, vilket är mer effektivt men anses vara något av ett hack:

select 
     id
,    @running_total := @running_total + val AS RunningTotal
from TheTable


  1. PHP &MySQL:mysqli_num_rows() förväntar sig att parameter 1 är mysqli_result, boolean given

  2. Är du sorterad? Tips angående T-SQL-fönsterbeställning

  3. MySQL Connect/C++ 64-bitars byggfel

  4. Fel vid anslutning till databasen:(med klassen org.gjt.mm.mysql.Driver)