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

MySQL Select Query lorsque vous souhaitez que des groupes de x éléments soient renvoyés par lots

MySQL ne supporte malheureusement pas le ROW_NUMBER() fonction que la plupart des autres marques de bases de données prennent en charge, mais vous pouvez la simuler avec une variable utilisateur.

Ce qui suit est testé avec vos données et MySQL 5.1.49 :

SET @rownum := 0;
SET @ip := null;

SELECT * FROM (
    SELECT IF(@ip=ip,@rownum:[email protected]+1,@rownum:=0) AS rownum, @ip:=ip AS ip, oid
    FROM test ORDER BY ip, oid
) AS t
ORDER BY FLOOR(rownum/10), ip, oid;