sql >> Databasteknik >  >> RDS >> Mysql

Begränsa SQL med summan av radens värde

Du vill lägga till en löpande totalsumma och begränsa baserat på det bör följande fungera:

SET @runtot:=0;
 SELECT 
    q1.t,
    q1.s,
    (@runtot := @runtot + q1.s) AS rt
 FROM 
    (SELECT Date AS t,
     SIZE AS s
     FROM  Table1
     ORDER  BY Date
     ) AS q1
WHERE @runtot + q1.s <= 20

Edit:Demo här - SQL Fiddle



  1. Hantera databasintegritet

  2. MySQL/Python -> Fel syntax för platshållare i uttalanden?

  3. Hur säkerhetskopierar man en postgresql-databas inifrån psql?

  4. Det angivna lösenordet för användarkontot 'root' är inte giltigt eller kunde inte ansluta till databasservern