Mysql
 sql >> Base de données >  >> RDS >> Mysql

Utiliser une variable dans une clause LIMIT dans MySQL

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;