Pour ceux qui ne peuvent pas utiliser MySQL 5.5.6+ et ne veulent pas écrire de procédure stockée, il existe une autre variante. Nous pouvons ajouter une clause where sur une sous-sélection avec ROWNUM.
SET @limit = 10;
SELECT * FROM (
SELECT instances.*,
@rownum := @rownum + 1 AS rank
FROM instances,
(SELECT @rownum := 0) r
) d WHERE rank < @limit;