sql >> Databasteknik >  >> RDS >> Mysql

Få första/sista n poster per grupp av

Mycket förenklad och korrigerad Carlos-lösning (hans lösning skulle returnera första 5 raderna, inte sista...):

SELECT tB1.idA, tB1.idB, tB1.textB
FROM tableB as tB1
    JOIN tableB as tB2
        ON tB1.idA = tB2.idA AND tB1.idB <= tB2.idB
GROUP BY tB1.idA, tB1.idB
HAVING COUNT(*) <= 5

I MySQL kan du använda tB1.textB även om det är grupp för fråga, eftersom du grupperar efter idB i den första tabellen, så det finns bara ett enda värde på tB1.textB för varje grupp...



  1. Fjäderstövel JPA-insats i TABELL med versaler med Hibernate

  2. Fixa "ERROR 1136 (21S01):Kolumnantal matchar inte värderäkning på rad 1" när du infogar data i MariaDB

  3. python 3.5 - django 1.10 - mysqlclient Windows 7 installationsfel

  4. PostgreSQL är världens bästa databas