Ho trovato una possibile soluzione, anche se non è molto elegante ed inoltre non volevo utilizzare le variabili:

SET @miavar = -7;

SELECT *, IF(miocampo-7>=@miavar, (@miavar:= miocampo), @miavar) AS valori FROM mytable WHERE miocampo>@miavar GROUP BY valori