sql >> Database >  >> RDS >> Mysql

MySQL-query die gedeeltelijke sommen berekent

U kunt dit doen door alleen aan de tafel te zitten. De SUM telt alle rijen op tot aan deze rij:

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

MySQL maakt het ook mogelijk om gebruikersvariabelen te gebruiken om dit te berekenen, wat efficiënter is, maar als een soort hack wordt beschouwd:

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


  1. MySQL JOIN Misbruik? Hoe erg kan het worden?

  2. Scripts genereren om beperkingen voor externe sleutels in SQL Server-database opnieuw te maken - SQL Server / TSQL-zelfstudie, deel 73

  3. MySQL-substringextractie met scheidingsteken

  4. Controleer of de tekenreeks tekens met accenten bevat in SQL?