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

MySQL Vælg Forespørgsel, når grupper af x elementer skal returneres i batches

MySQL understøtter desværre ikke ROW_NUMBER() funktion, som de fleste andre mærker af databaser understøtter, men du kan simulere den med en brugervariabel.

Følgende er testet med dine data og 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;



  1. MySQL Trigger kan ikke opdatere tabellen - får ERROR 1442

  2. Hvordan undgår du konflikter med kolonnenavne?

  3. MySQL JOIN og COUNT i en enkelt forespørgsel

  4. Hvad er JDBC-mysql-driverindstillingerne for fornuftig håndtering af DATETIME og TIMESTAMP i UTC?