Mysql
 sql >> Database >  >> RDS >> Mysql

Utilizzo di una variabile in una clausola LIMIT in MySQL

Per coloro che non possono utilizzare MySQL 5.5.6+ e non vogliono scrivere una procedura memorizzata, esiste un'altra variante. Possiamo aggiungere la clausola where su una sottoselezione con ROWNUM.

SET @limit = 10;
SELECT * FROM (
  SELECT instances.*, 
         @rownum := @rownum + 1 AS rank
    FROM instances, 
         (SELECT @rownum := 0) r
) d WHERE rank < @limit;