I want to write a query which returns all rows until the sum of one of the columns value reaches a certain value.
For example in the table below:
Here's a way to do it without a stored procedure:
SET @msum := 0; SELECT t1.* FROM ( SELECT m.*, (@msum := @msum + m.meetings) AS cumulative_meetings FROM meetings m ORDER BY m.date ASC ) t1 WHERE t1.cumulative_meetings <= 7;